
iOS面试
Code_Ninja
你必须非常努力,才能看起来毫不费力。
http://github.com/apestalk
展开
-
ios面试攻略(3.1)
来自:蓝色维度四、OC相关1.obj-c有多重继承么?不是的话有什么替代方法? Category是什么?重写一个类的方式用继承好还是分类好?为什么?cocoa 中所有的类都是NSObject 的子类。oc不支持多继承,你不用去考虑繁琐的多继承 ,虚基类的概念.多继承在这里是用protocol 委托代理 来实现的Category是类别,重写一个类的方法,用继承还是分类要根据具体情况分析。分类与继承:原创 2014-11-27 15:36:53 · 554 阅读 · 0 评论 -
ios面试攻略(1.1)
来自:一切都是为了改变自己1.Object-c的类可以多重继承么?可以实现多个接口么??没有,protocol 代替,Object-c的类不可以多重继承。2.#import 跟#include 又什么区别,@class呢; #import#import 能防止重复引用,#include 不能,@class 前置声明一个类。3.属性readwrite,readonly,assign,retain,原创 2014-11-27 15:36:41 · 699 阅读 · 0 评论 -
ios面试攻略(2.1)
11.#import跟#include的区别,@class呢? @class一般用于头文件中需要声明该类的某个实例变量的时候用到,在m文件中还是需要使用#import而#import比起#include的好处就是不会引起交叉编译12.MVC模式的理解MVC设计模式考虑三种对象:模型对象、视图对象、和控制器对象。模型对象代表特别的知识和专业技能,它们负责保有应用程序的数据和定义操作数据的逻辑。视图对原创 2014-11-27 15:36:48 · 544 阅读 · 0 评论 -
ios面试攻略(2.0)
来自网络1.main() { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); printf("%d,%d",*(a+1),*(ptr-1));}答:2 , 5 *(a+1)就是a[1],*(ptr-1)就是a[4],执行结果是2,5 &a+1不是首地址+1,系统会认为加一个a数组的偏移,是偏移了一个数组的大小(本例是5个int)原创 2014-11-27 15:36:44 · 437 阅读 · 0 评论 -
ios面试攻略(3.0)
来自:蓝色维度一、属性相关1.在一个对象的方法里面: self.name = “object”; 和 name =”object” 有什么不同吗?答:self.name = “object”会调用对象的setName()方法,name = “object”会直接把object赋值给当前对象的name属性。2.这段代码有什么问题吗:@implementation Person- (void)setA原创 2014-11-27 15:36:50 · 623 阅读 · 0 评论 -
ios面试攻略(3.2)
来自:蓝色维度七、内存管理1.objc的内存管理简介(1)如果您通过分配和初始化(比如[[MyClass alloc] init])的方式来创建对象,您就拥有这个对象,需要负责该对象的释放。这个规则在使用NSObject的便利方法new 时也同样适用。(2)如果您拷贝一个对象,您也拥有拷贝得到的对象,需要负责该对象的释放。(3)如果您保持一个对象,您就部分拥有这个对象,需要在不再使用时释放该对象。原创 2014-11-27 15:36:56 · 746 阅读 · 0 评论 -
IOS面试攻略(1.0)
来自:伊甸网@看到这个关键字,我们就应该想到,这是Object-C对C语言的扩展,例如@interface XXX。@interface声明类@implementation实现类@protocol声明协议@optional与@protocol配合使用,说明协议中的某个或者某几个方法可以不实现@required与@protocol配合使用,说明协议中的某个方法或者某几个方法必须实现@end与@int原创 2014-11-27 15:36:39 · 862 阅读 · 0 评论