2 つのことを行う必要があります (設定ビュー コントローラーと詳細ビュー コントローラーがあることを考慮して)...
まず、ユーザーが設定ビュー コントローラーで行を選択したときに、詳細ビュー コントローラーで編集する設定を設定する必要があります。あれは....
- (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 {
if (設定 != 新しい設定) {
【設定解除】;
setting = [newSetting 保持];
[self.tableView reloadData];
}
}
これは、次のことを前提としています。
- 最初のビューには、インスタンス化された「detailViewCtrl」プロパティがあります
- 最初のビューには、「設定」と呼ばれる設定プロパティの NSArray があります
- 詳細ビューには「設定」プロパティがあります
- 詳細View Controllerは、「設定」プロパティをどうするかを知っています