如果我有一个 List 对象和一个 ListItem 对象,并且 List 与 ListItem 具有一对多的关系,那么编辑列表的最佳设计是什么?我用
// Find the list we're supposed to edit
temporaryList = [List MR_findFirstByAttribute:@"uniqueID" withValue:_editingListID];
然后可以更新其简单属性,例如名称
temporaryList.name = @"new name";
但是我想知道如何最好地更新它的 listItems。它根据核心数据结构存储在 NSSet 中,并且在创建新列表时,我将每个 ListItem 存储为以下内容。
ListItem *listItem = [ListItem MR_createInContext:_managedObjectContext];
所以,当我去编辑一个列表的内容时,我想重置它的 NSSet 的 ListItems
// something like
list.contents = nil;
list.contents = mynewarrayoflistitems
但是我还需要一种方法来删除保存在内存中的旧 ListItems。我该怎么办?我的第一个想法是删除正在编辑的列表(这将导致级联效应发生,并将删除所有 ListItems,然后重置所有列表的内容、名称、id 等。这是最佳实践吗? ?