我将对象作为 JSON 发布在服务器上,该 JSON 由一些属性和一个作为主键属性的 ID 组成。我还使用 Core Data 将所有对象保存在本地。
问题是,当我第一次创建 POST 对象时,我知道除了唯一 ID 之外的所有属性。ID 是在服务器端设置的,当我从服务器获得响应时,我的数据库中有两个对象:一个 ID 为 0,一个为真实 ID。
有没有办法让 restkit/coredata 将这两个对象视为相同,或者不将第一个对象保存在数据库中?
我将对象作为 JSON 发布在服务器上,该 JSON 由一些属性和一个作为主键属性的 ID 组成。我还使用 Core Data 将所有对象保存在本地。
问题是,当我第一次创建 POST 对象时,我知道除了唯一 ID 之外的所有属性。ID 是在服务器端设置的,当我从服务器获得响应时,我的数据库中有两个对象:一个 ID 为 0,一个为真实 ID。
有没有办法让 restkit/coredata 将这两个对象视为相同,或者不将第一个对象保存在数据库中?
您可以postObject: usingBlock
像这样使用该方法并为对象加载器分配一个目标对象。
[[RKObjectManager sharedManager] postObject:myObject usingBlock:^(RKObjectLoader *loader) {
loader.targetObject = myObject;
loader.delegate = self;
loader.objectMapping = [[RKObjectManager sharedManager].mappingProvider objectMappingForClass:[myObject class]];
}
请注意,每次运行该方法时,您还必须在代码块中手动设置委托。