我在类中创建了一个方法:
- (void)getTableData:(NSString *)URL withCompletionHandler:(void (^)(NSString *))handler{
__block NSDictionary *JSON;
[manager POST:urlString parameters:jsonDict success:^(AFHTTPRequestOperation *operation, id responseObject){
JSON = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingAllowFragments error:&error];
handler(JSON);
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error %@",error);
// handle failure
}];
}
并通过
在另一个班级中调用它[ObjOfSecondClass getTableData:BILL withCompletionHandler:^(NSString* returnString)handler{
}];
它显示处理程序的预期表达式错误。
答案 0 :(得分:2)
这是一个表达式错误,因为你以错误的方式使用它。
在viewDidLoad
[ObjOfSecondClass getTableData:BILL withCompletionHandler:^(NSString* returnString){
}];
handler
用于块实现,以从它们被调用的位置返回值。
注意 - 在块定义中将字符串替换为字典,因为您从API而不是字符串获取字典。