0

AFHTTPRequestOperation喜欢在请求操作完成时调用 GCD 块。有没有办法让它调用方法选择器?我正在将我的应用程序从ASIHTTPRequestAFNetworking 转换,并且我的应用程序是围绕选择器而不是块构建的。

4

2 回答 2

3

您可以在完成块内调用您的选择器:

AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:urlRequest
        success:^(NSURLRequest *completedURLRequest, NSHTTPURLResponse *response, NSDictionary *json) {
            [self callMyCustomSuccessMethod:json];
        }
        failure:^(NSURLRequest *errorRequest, NSHTTPURLResponse *response, NSError *error, id JSON) {
            [self callMyCustomErrorMethod:error];
        }];
[operation start];
于 2012-11-05T15:59:45.623 回答
2

不确定是否AFHTTPRequestOperation支持基于选择器的回调,但您可以轻松地将对选择器的调用包装在一个块中:

success:^(AFHTTPRequestOperation *operation, id responseObject) {
   [myDelegate onSuccess:operation];
}

这适用于声明为的回调方法:

- (void)onSuccess:(AFHTTPRequestOperation*)operation;
于 2012-11-05T16:00:18.740 回答