我已经实现了 AFNetworking 框架,但是我试图找出一种将 AFJSONRequestOperation 函数放在一个单独的类中并从我的各个视图控制器中调用它的方法。
我所做的是创建一个类方法,该方法采用字典中的参数和 web 服务 url。我希望这能够从成功块返回 JSON 数组和 Http 代码,但这不起作用。
如果我将公共函数更改为具有返回类型并在方法结束时返回一个值,它会在成功块完成之前返回。
有什么建议么?
+ (void)RequestJSON:(NSDictionary *)params:(NSString *)webServicePath {
NSURL *url = [NSURL URLWithString:@"http://api.website.com/"];
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
NSMutableURLRequest *request = [httpClient requestWithMethod:@"POST" path:webServicePath parameters:params];
NSLog(@"%@", request);
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request
success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON)
{
NSString *httpCode = [[JSON valueForKey:@"meta"]valueForKey:@"code"];
NSLog(@"code=%@", httpCode);
}
failure:^(NSURLRequest *request , NSURLResponse *response , NSError *error , id JSON)
{
NSLog(@"Failed: %@",[error localizedDescription]);
}];
[operation start];
}