【发布时间】:2014-08-11 17:23:19
【问题描述】:
我在 RESTKit 中对不同 URL 的多次调用通常会下载相同的数据。第一次调用映射良好,但随后的调用会替换第一次调用的实体。
我想要的行为是在其父实体中拥有唯一的对象,因此即使数据看起来相同,我仍然希望创建一个新对象,但目前看起来 RESTKit 希望它们成为在整个数据库中是唯一的。在我正在下载的数据中没有唯一的键来执行此操作,对象实际上是相同的。下面是我用来创建操作的代码。如何设置它以允许重复?
NSMutableURLRequest *request = [self requestWithURL:URL];
[request setHTTPMethod:@"GET"];
RKHTTPRequestOperation *requestOperation = [[RKHTTPRequestOperation alloc]initWithRequest:request];
RKResponseDescriptor *responseDescriptor = [INKResponseDescriptorFactory journeySegmentDescriptorForPath:URL.path inStore:[RKObjectManager sharedManager].managedObjectStore];
RKManagedObjectRequestOperation *operation = [[RKManagedObjectRequestOperation alloc] initWithHTTPRequestOperation:requestOperation
responseDescriptors:@[responseDescriptor]];
operation.managedObjectContext = [self.objectManager context];
operation.managedObjectCache = self.objectManager.managedObjectStore.managedObjectCache;
operation.savesToPersistentStore = NO;
[operation setCompletionBlockWithSuccess: ^(RKObjectRequestOperation *requestOperation, RKMappingResult *mappingResult)
{
success();
} failure: ^(RKObjectRequestOperation *requestOperation, NSError *error) {
failure(error);
}];
[self.objectManager enqueueObjectRequestOperation:operation];
【问题讨论】:
标签: core-data restkit nsmanagedobject