在1遍中将分层数据存储到核心数据?

时间:2012-01-13 15:32:34

标签: ios core-data

将数据加载到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来引用?

1 个答案:

答案 0 :(得分:0)

反向关系作为-processPendingChanges的一部分进行更新。这将作为-save:的一部分进行调用。如果需要,可以直接调用。 CoreData不会立即更新反向关系,因为它很昂贵。