摘要: 僵尸对象:占用空间被释放的对象野指针:指向僵尸对象的指针(给野指针发消息会报错)空指针:指向nil的指针(给空指针发消息会不报错)因为给野指针发消息会报错,因此我们要监听僵尸对象,这样就可以在控制台输出错误原因设置如下图 阅读全文
posted @ 2016-01-17 20:13 爱上咖啡的唐 阅读(356) 评论(0) 推荐(0) 编辑
摘要: ARC (Automatic Reference Counting) 编译器自动在适当的时候给代码添加retain/release方法,而不需要程序员自己添加 与java垃圾回收机制的区别: java由系统在适当的时候自动回收空闲空间,而xcode由编译器回收MRC(Manul Refer... 阅读全文
posted @ 2016-01-17 18:31 爱上咖啡的唐 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 在对象占用空间被释放的时候执行(引用计数器为0)而且与init方法相对应,要执行父类的dealloc方法(在最后调用,否则会引发某些未知错误) 阅读全文
posted @ 2016-01-17 18:22 爱上咖啡的唐 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 对象引用的个数,占4个字节在对象创建的时候就为1,而只有为0的时候才会释放对象占用内存(所以系统不会释放对象占用的空间)获得retain消息时会加1,获得release消息时会减1retainCount用来显示对象引用的个数,但是不一定准确。而对象占用空间被释放时一定会调用dealloc方法 阅读全文
posted @ 2016-01-17 18:14 爱上咖啡的唐 阅读(180) 评论(0) 推荐(0) 编辑
摘要: - (id)init { self = [super init]; if (self) { // Initialize self. } return self;}注意要先实现父类的init方法,再实现自己的 阅读全文
posted @ 2016-01-17 17:57 爱上咖啡的唐 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 说明:SEL类型第一次调用时会逐个匹配方法名,并加载到内存,后面调用时就直接在内存中查找方法1 检查对象/方法有没有实现某个方法(使用respondsToSelector方法)@implementation Person-(void)setAge:(int)age{ _age=age;}-(int)... 阅读全文
posted @ 2016-01-17 17:26 爱上咖啡的唐 阅读(294) 评论(0) 推荐(0) 编辑