objective-c 的用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就没法用了。

}


你可能感兴趣的:(OC开发笔记)