IOS面试经常被问道的问题
http://blog.csdn.net/pingchangtan367/article/details/16824281
SDK
文件管理filemagager:新增,删除,移动,打开,复制。
整形:按照符号有符号,无符号;按照占用字节分:1个字节,2个字节,4个字节,8个字节
流:按照方向上,流可以是输入流(读操作流)或者输出流(写操作流)。操作有,读,写,定位操作。
socket流程:创建连接字,设置地址端口,开始监听。(封装事件,发布服务)
Self.跟存取方法有关
平时我们用的方法名和属性名是一样的,self.myObject中的myObject是存取方法名,不加self.的myObject是真正的属性关键字extern的表明这条语句是变量的声明而不是定义。记住,声明不会引起分配变量的存储空间,而定义会引起变量存储空间的分配。
if((self = [super init]))
{
};
return self;
self = [super init] //将父类初始化之后,将其返回的对象的首地址指针覆盖当前对象的首地址 //目的是防止父类改变对象的内存地址,导致self指针指向另外地址以及内存泄
露
//,在父类是单件、类簇或者有共享资源的时候,必须依照实际情况考虑是否加上这行代码。
self指向了对象的首地址,isa又是保存了对象的类对象的首地址
@interface NSObject <NSObject>
{
Class isa OBJC_ISA_AVAILABILITY;
}
实例对象有个isa的属性,是一个objc_class 结构类型的指针,指向它的类;里面的isa指向类对象
(可以猜想objc_class描述一个类,要描述一个类,
包括:继承自的父类super_class;类名name,大小instance_size,实例成员ivars,实例方法methodLists,协议protocols;类对象isa
同理,类对象中的isa包括的对应信息是:
包括:继承自的父类super_class;类名name,大小instance_size,类成员ivars,类方法methodLists,类协议protocols=nil;isa=nil)
对比区别:对象,类,元类,根元类。
Object_c 对象的本质是一个结构(objc_object),isa指向类; 类本质上也是一个结构(objc_object),isa指向元类;元类本质上也是一个结构(objc_object),isa指向根元类。根元类本质上也是一个结构(objc_object),isa指向它自身。