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 не существует эквивалента, поскольку метод POST RKObjectManager создает внутри себя RKObjectRequestOperation и не предоставляет к нему доступ.
Кто-нибудь знает, есть ли другой способ установить это? В противном случае, я полагаю, я мог бы создать свой собственный метод расширения, который обеспечивает доступ к этому параметру.