您必须做两件事(考虑到您有一个设置视图控制器和一个详细视图控制器)...
首先,当用户在设置视图控制器中选择一行时,您必须设置您将在详细视图控制器中编辑的设置。那是....
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[self.detailViewCtrl setSetting:[self.settings objectAtIndex:indexPath.row]];
[self.navigationController pushViewController:self.detailViewCtrl];
}
在您的详细视图中,您必须修改以下方法来呈现您的表格:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// ... 对 self.setting 做一些事情
}
而且你不能忘记重新加载表格:
- (void)setSetting:(id)newSetting {
如果(设置!= newSetting){
[设置发布];
设置 = [newSetting 保留];
[self.tableView reloadData];
}
}
这是假设以下情况:
- 您的第一个视图实例化了“detailViewCtrl”属性
- 您的第一个视图有一个 NSArray 的设置属性,称为“设置”
- 您的详细视图具有“设置”属性
- 您的详细视图控制器知道如何处理其“设置”属性