我最近继承了一个使用 RestKit 的 Xcode 项目,并将其升级到 0.10.3 以使其在 iOS6 下工作。
JSON 响应对象映射似乎一切正常,尽管我有一个问题,即某些子集合实际上没有保存。
例如我有
syncResponse.newEntities.customers
然后每个客户都有一个地址数组。
我使用以下调用在 didLoadObjects 之后保存:
NSError* err = nil;
[[[RKObjectManager sharedManager] objectStore] save:&err];
我发现这只会保存客户,而不会保存地址数据或任何子集合。当我导航到客户视图时,地址区域为空。
但是,如果我在保存行之前添加以下代码块,则会在 xCode 输出中打印出郊区列表,并且地址会保留,一切都很好。
for (Customer* customer in syncResponse.newEntities.customers)
{
for (Address *address in [customer address]) {
NSLog(@"%@", address.suburb);
}
}
有什么理由会发生这种情况,或者应该调用不同的保存方法吗?
非常感激任何的帮助!