0x01.内存管理的思考方式:
1)自己生成的对象,自己所持有;
2)非自己生成的对象,自己也能持有;
3)自己持有的对象不再需要时释放;
4)非自己持有的对象无法释放;
0x02.所有权修饰符
1)__strong修饰符,是id类型和对象类型默认的所有权修饰符。也就是说,一下源代码中的id变量,实际上被附加喇所有权修饰符:
id obj =[ [NSObject alloc] init];
持有枪引用的变量在超出其作用域时被废弃,随着强引用的失效,引用的对象会随之释放。
正如苹果宣称的那样,通过__strong修饰符,不必再次键入retain或者release,完美地满足了“引用计数式内存管理思考方式”;
2)__weak修饰符,解决引用计数式内存管理中“循环引用”的问题。
遗憾的是,__weak修饰符只能用于iOS5以上及OS X Lion以上版本的 应用程序。在iOS4以及OS X Snow Leopard的应用程序中可以使用__unsafe_unretained修饰符来代替。
3)__unsafe_unretained修饰符
4)__autorelease修饰符,