AFHTTPRequestOperationManager 有这个实现:
- (AFHTTPRequestOperation *)HTTPRequestOperationWithRequest:(NSURLRequest *)request
success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure
{
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
operation.responseSerializer = self.responseSerializer;
operation.shouldUseCredentialStorage = self.shouldUseCredentialStorage;
operation.credential = self.credential;
operation.securityPolicy = self.securityPolicy;
[operation setCompletionBlockWithSuccess:success failure:failure];
return operation;
}
当使用这个方法时,成功和失败 block 永远不会被调用。在我将这一行放入实现之后:
[self.operationQueue addOperation:operation];
它有效。为什么 AFNetworking 2.0 AFHTTPRequestOperationManager 错过这一行或者我只是不明白这个方法?谢谢。
最佳答案
HTTPRequestOperationWithRequest
创建一个操作,但不执行它。当您将操作添加到您使用此调用创建的操作队列时:
[self.operationQueue addOperation:operation];
您实际上是在执行刚刚创建的操作。然后将调用成功和失败 block 。
关于ios - AFNetworking 未实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21488551/