下面我有一些代码应当返回一个数组,来自服务器的响应发生在一个块内:从返回一个变量的块
- (NSMutableArray *)getArray
{
NSMutableDictionary* params =[NSMutableDictionary dictionaryWithObjectsAndKeys:
@"pending", @"command",
@"2" , @"userID",
nil];
[[API sharedInstance] commandWithParams:params
onCompletion:^(NSDictionary *json) {
//result returned
if ([json objectForKey:@"error"]==nil) {
NSMutableArray *res = [[NSMutableArray alloc] init];
[res addObject:@"1234"];
RETURN HERE
} else {
//error
[UIAlertView title:@"Error" withMessage:[json objectForKey:@"error"]];
}
}];
}
解析数据并创建一个数组后,我想返回我为getArray
方法调用创建的数组。到目前为止,经过几个小时的尝试,我还没有任何运气,即使从以前的问题提出了一些关于stackoverflow的建议。任何帮助,将不胜感激。
你知道该块被执行,并在其中方法'getArray'早已结束,走了一段时间最有可能完成?除非你实际使用的是引用返回(你通常不应该) – Till
不要将其命名以'GET'前缀的方法。 – bbum