set方法与内存管理

局部变量,使用完以后不再使用就release;
全局变量,在dealloc里面release。
指针对象要自己操作自己。
retainCount指的是对象引用计数。
self赋值方式:

    Computer *cmp = [[Computer alloc] init];//cmp对象retainCount = 1
    self.computer = cop;//computer 对象retainCount = 2
    [cmp release];//computer 对象retainCount = 1

以上赋值方式等价于

self.computer = [[Computer alloc] init];//computer对象retainCount = 2;易造成内存泄漏。黄金法则:当一个对象的引用计数为0时,编译器才会释放该内存。

实例指针直接赋值

_computer = [[Computer alloc]init];//retainCount = 1

你可能感兴趣的:(iOS)