我在尋找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];
}
}
}
我還能用什麼來達到這個目的?
要清楚:你要替換的UITableView的cellForRowAtIndexPath,或在的cellForRowAtIndexPath的的UITableViewDelegate?他們是兩個完全不同的東西。 (並且你不能真正「替換」任何一個 - 它們必須存在並被調用。) –
我不想替換實際的cellForRowAtIndexPath。我正在尋找一種替代方法來獲取我的tableview上的所有單元格。所以在上面的方法中,我使用cellForRowAtIndexPath來獲取單元格,但我知道它不會給我不可見的單元格。我想在上面的方法,可以返回我所有的細胞或建議一些最好的方式來實現我想要的東西。 –
嗯,你沒有回答我的問題。但是你問錯了。您不會嘗試維護所有單元格,只是單元格中的數據。我發現一個包含NSMutableDictionarys的NSMutableArray對此很有效 - 每個單元屬性都是相應字典中的名稱/值對。 –