所以我有两个tableViews,一个在popover中首先显示,然后当选择一行时,它会将另一个tableView作为detailView。然后我做出选择并在detailTableView上更新我的模型。然后,当我返回原始tableView时,该行的数据不会更新。
我有一个UINavigationController作为此弹出控制器的contentViewController。当我弹出detailTableView时,我不知道如何更新该单元格的标签。 TIA。
编辑:基本上,我正在尝试做类似于settings-> Locations的操作。单击“位置”时,将显示详细信息视图。如果您关闭地理位置,则主视图会显示地点 - >关闭。如果启用了位置,则会在主表视图上显示位置 - >打开。我不知道如何获取对在cellForRowAtIndexPath中创建的行的引用,以便仅在有意义的情况下更改该行的标签。感谢。
编辑:添加以下代码
所以我理解我可以发送通知,但是当我回到mainTableView时我不知道如何更新该特定单元格,因为我没有对单元格的引用。感谢。
在我的cellForRowAtIndexPath中:
else if ([indexPath section] == VERSION) {
cell = [tableView dequeueReusableCellWithIdentifier:@"VersionCell"];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"VersionCell"] autorelease];
}
NSArray *array = [[dmgr VersionDictionary] allKeysForObject:[NSNumber numberWithBool:YES]];
cell.textLabel.text = [array objectAtIndex:0];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
答案 0 :(得分:0)
为什么不从详细信息视图发送委托并更新第一个表视图
答案 1 :(得分:0)
您可以通过将popover tableVC传递给详细信息将两个TableView控制器绑定在一起,因此详细信息可以通知popover数据已更改,
或
你可以让popover tvc注册一个通知,并有详细的tvc发布通知。当popover收到它时,它会重新加载,
或
你可以让popover tvc成为改变实际模型数据的KVO监听器,当它发生时,重新加载。