List オブジェクトと ListItem オブジェクトがあり、List が ListItem オブジェクトと 1 対多の関係にある場合、リストを編集するのに最適な設計はどのようなものでしょうか? 私はリストを取得します
// Find the list we're supposed to edit
temporaryList = [List MR_findFirstByAttribute:@"uniqueID" withValue:_editingListID];
名前などの単純なプロパティを更新できます
temporaryList.name = @"new name";
ただし、listItems を更新する最善の方法を考えています。Core Data 構造に従って NSSet に格納され、新しいリストを作成するときに、各 ListItem を次のように格納します。
ListItem *listItem = [ListItem MR_createInContext:_managedObjectContext];
したがって、リストの内容を編集するときは、ListItems の NSSet をリセットしたいと思います。
// something like
list.contents = nil;
list.contents = mynewarrayoflistitems
しかし、メモリに保存された古い ListItems を削除する方法も必要です。これについてどうすればよいですか?私が最初に考えたのは、編集中のリストを削除することでした (これにより、カスケード効果が発生し、すべての ListItems が削除され、リストの内容、名前、ID などがすべてリセットされます。これはベスト プラクティスですか? ?