内存管理:
Cocoa采用引用计数的技术,当alloc,new,copy消息创建对象时,引用计数器+1,retain +1,release -1,为0时对象dealloc被销毁,占用的内存被释放.获得引用计数器当前值retainCount
访问方法最佳实践:先保留新对象,然后释放旧对象
自动释放池:
创建:@autoreleasepool或NSAutoreleasePool对象,关键字比对象更快
自动释放池以栈的形式存在,自动释放池销毁时会向对象发出release消息
内存管理规则:
1.通过new,alloc,copy创建的对象要释放或者自动释放[NSObject autorelease];
2.其他方法获得的对象不用管;
3.retain的对象必须release,并且次数一致。
ARC自动引用计数:
垃圾回收在运行时工作,而ARC在编译时工作,自动插入retain和release,两者不能同时使用。ARC只对对象指针有效:代码块指针,obc对象指针和_ attribute _类型定义的指针。
归零弱引用:
_weak NSString *string;
@property(