【发布时间】:2013-07-22 21:58:22
【问题描述】:
如果我有一个 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];
所以,当我去编辑 List 的内容时,我想重置 ListItems 的 NSSet
// something like
list.contents = nil;
list.contents = mynewarrayoflistitems
但是我还需要一种方法来删除保存在内存中的旧 ListItems。我该怎么办?我的第一个想法是删除正在编辑的列表(这将导致级联效应发生,并将删除所有 ListItems,然后重置所有列表的内容、名称、id 等。这是最佳实践吗? ?
【问题讨论】:
标签: ios objective-c sqlite core-data magicalrecord