繁体   English   中英

具有完成处理程序的方法

[英]Method with completion handler

我在一个类中创建了一个方法:

- (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{
    }];

它在处理程序中显示期望的表达式错误。

这是一个表达错误,因为您使用错误的方式。

viewDidLoad尝试这个

[ObjOfSecondClass getTableData:BILL withCompletionHandler:^(NSString* returnString){
}];

handler用于块实现以从调用它们的位置返回值。

注意-在块定义中将字符串替换为字典,因为要从API获取字典而不是字符串。

学习块语法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM