【问题标题】:How to update a posted object in RestKit with different primary key attributes?如何使用不同的主键属性更新 RestKit 中的已发布对象?
【发布时间】:2012-05-17 13:28:11
【问题描述】:
我将对象作为 JSON 发布在服务器上,该 JSON 由一些属性和一个作为主键属性的 ID 组成。我也在使用 Core Data 将所有对象保存在本地。
问题是,当我第一次创建 POST 对象时,我知道除了唯一 ID 之外的所有属性。 ID 是在服务器端设置的,当我从服务器获得响应时,我的数据库中有两个对象:
一个 ID 为 0,一个为真实 ID。
有没有办法让restkit/coredata把这两个对象当作相同的对象,或者不将第一个对象保存在数据库中?
【问题讨论】:
标签:
objective-c
ios
core-data
restkit
【解决方案1】:
您可以像这样使用postObject: usingBlock 方法并为对象加载器分配一个目标对象。
[[RKObjectManager sharedManager] postObject:myObject usingBlock:^(RKObjectLoader *loader) {
loader.targetObject = myObject;
loader.delegate = self;
loader.objectMapping = [[RKObjectManager sharedManager].mappingProvider objectMappingForClass:[myObject class]];
}
请注意,每次运行该方法时,您还必须在代码块中手动设置委托。