将数据加载到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以及所有的atttribute都被正确地保存到SQLite,除了所有b的a(父)属性都为null。
在创建b之前,我是否必须重写这个来编写a,以便他们有一个真正的objectID来引用?
答案 0 :(得分:0)
反向关系作为-processPendingChanges
的一部分进行更新。这将作为-save:
的一部分进行调用。如果需要,可以直接调用。 CoreData不会立即更新反向关系,因为它很昂贵。