iOS AFJSONRequestOperation返回空结果
我正在尝试使用AFJSONRequestOperation从JSON请求检索数据。 成功后,我能够成功检索数据,但无法完成请求并转发数据以供进一步处理 下面是我的代码iOS AFJSONRequestOperation返回空结果,ios,objective-c,json,xcode,afnetworking,Ios,Objective C,Json,Xcode,Afnetworking,我正在尝试使用AFJSONRequestOperation从JSON请求检索数据。 成功后,我能够成功检索数据,但无法完成请求并转发数据以供进一步处理 下面是我的代码 -(void) retrieveBrandList:(void (^)(NSArray *brandList))success failure:(void (^)(NSError *error))failure { //__block NSArray *brandList =[[NSArray alloc] init];
-(void) retrieveBrandList:(void (^)(NSArray *brandList))success failure:(void (^)(NSError *error))failure
{
//__block NSArray *brandList =[[NSArray alloc] init];
NSString *BrandListURL= http://127.0.0.1:8888/know/rest/brand
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSLog(@"Brand List URL = %@", BrandListURL);
AFJSONRequestOperation *operation =[AFJSONRequestOperation
JSONRequestOperationWithRequest: request
success:^(NSURLRequest *request, NSHTTPURLResponse *response, id responseObject)
{
NSLog(@"%@", responseObject);
brandList = [self successBandList:responseObject]; // parsing the JSON response in separate method (success block code)
if (success)
success(brandList);
}
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id responseObject)
{
message:[NSString stringWithFormat:@"%@",error];
if (failure)
failure(error);
}];
[operation start];
[operation waitUntilFinished];
}
以下是用于检索数据的数据管理器
- (NSArray *)getBrandList
{
@try
{
[brand retrieveBrandList:^(NSArray *brandList)
{
brands = brandList;
}
failure:^(NSError *error) {
}];
NSLog(@"Retriving Brand list completed");
return brands;
}
@catch (NSException * e) {
NSLog(@"Exception: %@ , Error while getting the brand list", e);
}
return NULL;
}
如何完成操作并使用或存储结果,以便以其他方法进行进一步处理
id jsonObject = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingAllowFragments error:&error];
if ([jsonObject isKindOfClass:[NSDictionary class]]) {
self.jsonDictionary = jsonObject;
}
您也可以检查其他选项,但这对我很有效我正在尝试创建一个没有任何GUI的框架。我所要做的就是将结果存储在某个变量中,并完成程序的执行。是的,那么你不能用解析Json来做什么呢。我无法返回数据。因为AFJSONRequestOperation的异步方法。此操作返回空结果您是否检查了Charlse的响应?能否提供来自Charlse的链接?