tec*_*man 0 cocoa-touch uitableview ios
我正在寻找cellForRowAtIndexPath的替代方法.我想要做的是在我的私有方法中,我正在检查退出单元格上的文本是否存在于数组中,如果是,则选择其他单元格保持取消选择.我了解到cellForRowAtIndexPath仅对可见单元格有效,如果单元格不可见则返回nil.以下是我目前的代码:
- (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];
}
}
}
Run Code Online (Sandbox Code Playgroud)
我还能用什么来实现这个目标?
我正在检查退出单元格上的文本是否存在于数组中
这听起来像是一个根本问题.在模型视图控制器范例中,视图负责显示数据并与用户交互,而模型负责存储和操作数据.你不应该关注细胞的内容并根据它做出决定; 您应该查看模型中的数据.
UITableView按照它的方式工作,因为如果您正在关注MVC,那么完全没有必要保持周围的细胞不可见.每当表需要显示一个新单元格时,它会通过调用来询问您该单元格-tableView:cellForRowAtIndexPath:.
我正在寻找替代方案来获取我的tableview上的所有单元格.
细胞并非全部同时存在.您可以想象-tableView:cellForRowAtIndexPath:使用不同的索引路径调用数据源的方法,就像表一样,这将返回每个单元格.但那可能不是正确的解决方案; 您需要知道存储表的数据的位置,以便首先填充表的单元格,因此您应该直接查看数据.
| 归档时间: |
|
| 查看次数: |
323 次 |
| 最近记录: |