【内存管理】:self.变量 和 变量 的区别

self相当于c++里面的this,表示类的对象本身。
加个self.是为了调用对应的set方法,如果不加,就不调用,不掉用就会造成引用计数的retainCount不加一,不加一就会被直接释放,结果就是在数据源那个方法中得到空值,没法使用,程序崩溃。所以需要调用对应的方法就加上self. ,不需要就不加。

例:

- (void)viewDidLoad

{

    [super viewDidLoad];   

    NSArray * array = [[NSArray alloc] initWithObjects:@"Luke", @"Leia", @"Han", @"Chewbacca", @"Artoo", @"Threepio", @"Lando", nil];

    self.pickerData= array;   

    [array release]; //如果不加self.就会在这里把array直接完全释放,结果array就没法用了。

}





你可能感兴趣的:(【内存管理】:self.变量 和 变量 的区别)