【发布时间】:2014-04-24 07:31:56
【问题描述】:
我有一个UITableView,选择UITableViewCell i @ i调用web服务来获取新数据,然后用新数据重新加载UITableView。
现在,所选行将始终是返回的新数据的一部分。但是,一个部分中的行数不会是恒定的。
我试图在我重新加载表格视图后选择的行上保持选择。我从didSelectRowAtIndexPath 保存了indexPath。但是当我打电话时:
[self.tableView selectRowAtIndexPath:self.selectedIndexPath
animated:NO
scrollPosition:UITableViewScrollPositionNone];
没有任何反应,我选择的行在重新加载后不再被选中。在重新加载UITableView 后是否有保留选择?
【问题讨论】:
-
你能在数据中添加某种选择标志吗?
-
数据在一个数组中 - 每次随着数据的变化而发生选择时,我都会得到一个新的数据副本。不变且始终保证的是从新数据中取回所选项目。
-
将选中的项目放入本地 iVar,在 cellforrowatindex 路径中进行相等性检查,因此当它重新加载单元格时,它会将传入的数据与您保存的 iVar 进行比较。如果匹配,则调用 selecteRowAtIndexPath 方法。
标签: ios objective-c uitableview reloaddata