RestKit 曾经使用以下代码块支持多任务:
RKRequest* request = [[RKClient sharedClient] post:@"/upload" delegate:self];
request.backgroundPolicy = RKRequestBackgroundPolicyContinue;
我正在查看最新版本 (0.20.x),但没有看到对后台策略枚举的任何引用。有谁知道如何在最新版本的 RestKit 中调用它?
编辑:Per Wain 在下面的回答,我发现您可以对 GET 方法执行此操作,如下所示:
RKHTTPRequestOperation *requestOperation = [[RKHTTPRequestOperation alloc] initWithRequest:[NSURLRequest requestWithURL:url]];
[requestOperation setShouldExecuteAsBackgroundTaskWithExpirationHandler:nil];
RKObjectRequestOperation *operation = [[RKObjectRequestOperation alloc] initWithHTTPRequestOperation:requestOperation responseDescriptors:@[responseDescriptor]];
[operation setCompletionBlockWithSuccess:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
// handle success
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
// handle failure
}];
[operation start];
但似乎没有 POST 的等价物,因为 RKObjectManager POST 方法在内部创建一个 RKObjectRequestOperation 并且不提供对它的访问。
有谁知道是否有不同的方法来设置这个?否则,我想我可以创建自己的扩展方法来提供对此设置的访问。