Я ищу альтернативный метод для cellForRowAtIndexPath. То, что я пытаюсь сделать, это в моем личном методе, я проверяю, присутствует ли текст в выходящей ячейке в массив, если он затем выбирает ячейку, оставаясь ею не выбранной. Я узнал, что cellForRowAtIndexPath работает только на видимых клетках и возвращает nil, если ячейка невидима. Ниже приведен мой настоящий код:Альтернатива cellForRowAtIndexPath
- (void)selectCells:(NSArray *)array
{
for (int row = 0; row < [self.tableView numberOfRowsInSection:1]; row ++)
{
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row 1];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
if ([array containsObject:cell.textLabel.text] && !cell.isSelected)
{
[self.tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
}
}
}
Что еще я могу использовать для достижения этого?
быть ясно: вы хотите заменить cellForRowAtIndexPath в UITableView или cellForRowAtIndexPath в UITableViewDelegate ли? Это две совершенно разные вещи. (И вы не можете «заменить» один из них - они должны существовать и быть вызваны.) –
Я не хочу заменять фактический cellForRowAtIndexPath. Я ищу альтернативу, чтобы получить все ячейки на моем столе. Поэтому в приведенном выше методе я использую cellForRowAtIndexPath для получения ячеек, но я понимаю, что он не даст мне ячеек, которые не видны. Я хочу что-то в описанном выше методе, который мог бы вернуть мне все ячейки или предложить какой-то лучший способ достичь того, чего я хочу. –
Ну, ты не ответил на мой вопрос. Но вы спрашиваете не того. Вы не пытаетесь поддерживать все ячейки, просто данные в ячейках. Я нахожу, что NSMutableArray, содержащий NSMutableDictionarys, хорошо работает для этого: каждый атрибут ячейки является парой имя/значение в соответствующем словаре. –