私のアプリでは、NSUserDefaults に保存するデータ用の一連のオブジェクト クラスを作成しました。
私は次の方法でアイテムを取得します。
LauncherToDoItem *item = [[ActionHelper sharedInstance] actionList][indexPath.row];
次に、それを編集ビュー コントローラーに渡します。
LauncherEditActionViewController *editActions = [[LauncherEditActionViewController alloc] initWithToDoItem:item];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:editActions];
[self presentViewController:navController animated:YES completion:nil];
ビューコントローラーには、アイテムの編集バージョンからのデータを表示するテーブルがあります。
- (id)initWithToDoItem:(LauncherToDoItem *)toDoItem {
self=[super initWithStyle:UITableViewStyleGrouped];
if (self) {
item = toDoItem;
editedToDoItem = toDoItem;
}
return self;
}
を編集するeditedToDoItem
とアイテムも書き込まれるので、配列のバージョンにも書き込むと思いますか?そのうちの 1 つを編集すると、すべてに影響するのはなぜですか? まだ配列に保存し直していませんが、値は自動的に保存されます。