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就沒法用了。
}