Я снова получил ошибку и хотел бы уточнить, почему это ошибка.
У меня есть простой UITableView, который загружает некоторые данные:
// myclass.h
@property (nonatomic, retain) NSArray *myData
// myclass.m
@synthesize myData;
- (void) viewDidLoad {
...
myData = someDataSource // note the lack of self
}
- (UITableViewCell *) cellForRowAtIndexPath ... {
...
cell.textLabel.text = [self.myData objectAtIndex:indexPath.row]; // EXC_BAD_ACCESS
}
Таблица сначала загружается нормально, но при прокрутке вверх достаточно, чтобы одна из ячеек была полностью не видна, и я получаю ошибку EXC_BAD_ACCESS.
Я что-то упустил в отношении @property retain. Насколько я понимаю, он освобождает все, на что указатель указывал до переназначения. Если я прав, то почему бы не использовать себя. вызвать какие-либо проблемы?
Спасибо за помощь.
**** Обновление
Почему это во всех примерах, которые я проверял, для освобождения объектов в методе dealloc без self?
- (void) dealloc {
[someArray release];
[someTableView release];
}