У меня была такая же проблема, у меня было несколько ячеек, которые еще не были созданы.И я должен был выбрать их всех.Но вы не можете добраться до клетки, не созданной.Поэтому я не мог использовать getTableViewCellForRowAtIndex: function.
У меня было решение для выбранных объектов, я установил всю коллекцию как selectedcollection.Но моя проблема была в пользовательском интерфейсе, я должен был показать их пользователю.
Поэтому я решил создать checkXXXTableViewCell и унаследовал этот класс от XXXTableViewCell.(Они точно используют один и тот же бизнес) И я сделал кнопку проверки (это был мой пользовательский checkButton), выбранный в checkedXXXTableViewCell.
Наконец, мне нужно изменить функцию cellForRowAtIndexPath: как показано ниже.И это прекрасно работает.Надеюсь, это поможет вам.:)
-(UITableViewCell *)getCell:(Entity *)entity cellForRowAtIndexPath:(NSIndexPath *)indexPath identifier:(NSString *)cellIdentifier {
if (allSelected == 1) {
return [[CheckedxxxCell alloc] initWithEntity:entity index:indexPath.row reuseIdentifier:cellIdentifier];
}
else {
return [[xCell alloc] initWithEntity:entity index:indexPath.row reuseIdentifier:cellIdentifier];
}
}