1

私のアプリでは、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 つを編集すると、すべてに影響するのはなぜですか? まだ配列に保存し直していませんが、値は自動的に保存されます。

4

1 に答える 1