AFNetworkingフレームワークを実装しましたが、AFJSONRequestOperation関数を別のクラスに配置し、個々のビューコントローラーから呼び出す方法を見つけようとしていました。
私が行ったことは、辞書のパラメーターとWebサービスのURLを受け取るクラスメソッドを作成することです。これでSuccessブロックからJSON配列とHttpコードを返すことができるようにしたいと思いますが、これは機能していません。
public関数をreturn型に変更し、メソッドの最後に値を返すと、successブロックが完了する前に戻ります。
助言がありますか?
+ (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];
}