选择单元格时更新UITableViewCell标签,如iPhone上的设置应用程序

时间:2011-12-07 19:55:25

标签: iphone uitableview uinavigationcontroller

所以我有两个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;
}

2 个答案:

答案 0 :(得分:0)

为什么不从详细信息视图发送委托并更新第一个表视图

答案 1 :(得分:0)

您可以通过将popover tableVC传递给详细信息将两个TableView控制器绑定在一起,因此详细信息可以通知popover数据已更改,

你可以让popover tvc注册一个通知,并有详细的tvc发布通知。当popover收到它时,它会重新加载,

你可以让popover tvc成为改变实际模型数据的KVO监听器,当它发生时,重新加载。