将数据加载到Core Data中时,我的子对象没有设置父ID。这些都是在我使用TBXML浏览xml文档时生成的。 (为简洁起见,对代码进行了严格的解释)
a = NSEntityDescription insertNewObjectForEntityForName:@"A"
set various a attributes
if a.Type isEqualToString:@"TypeA"
b_set = NSMutableSet new
for each child element of a
b = NSEntityDescription insertNewObjectForEntityForName:@"B"
set various b attributes
b.a = a
b_set addObject:b
next
a.bs = b_set
end
blah blah blah
当全部说完之后,所有a和b以及它们的所有属性都正确地保留在SQLite中,除了所有b的a(父)属性都为空。
我是否必须在创建b之前重新编写a,以便它们具有要引用的真实objectID?
最佳答案
反向关系作为-processPendingChanges
的一部分进行更新。那将被称为-save:
的一部分。如果需要,可以直接调用它。由于费用昂贵,CoreData不会立即更新反向关系。
关于ios - 1遍将分层数据存储到核心数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8852990/