if (cell == nil) // 1
{ // 2
[[NSBundle mainBundle] loadNibNamed:@"TVCell" owner:self options:nil]; // 3
cell = tvCell; // 4
self.tvCell = nil; // 5
} // 6
Есть некоторый код из примера Apple об использовании вашей собственной "пользовательской ячейки XIB" для создания ячеек в UITableView.
Кажется, это работает ... но я думаю, что лучше бы на самом деле понять что там делается.
Почему следующее присвоение значения чему-то не так?
cell = [[NSBundle mainBundle] loadNibNamed:@"TVCell" owner:self options:nil];
(На самом деле cell
и tvCell
вообще не используются.)
Почему строка # 4 назначается с использованием tvCell
, когда его еще ничего не вставили?
Почему строка № 5 обнуляет tvCell
, что мне нужно?
Почему эта строка использует присвоение, а не сохранение?
@property (nonatomic, assign) IBOutlet UITableViewCell *tvCell;
О единственной вещи, которую я не могу заставить работать правильно, это когда я помещаю кнопку раскрытия в свою ячейку XIB. Есть ли способ определить, когда пользователь нажал на нее? (Надеюсь, без использования 100-х тегов.)