2017-03-08 73 views
1

我在类中创建一个方法。完成处理程序在目标c中的方法

- (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

你想在你的回调中做什么? – iPeter

+0

NSDictionary * JSON; – Lenin

+0

我还没有真正理解你的问题。你可以请更具体吗? – iPeter

回答

2

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

试试这个在viewDidLoad

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

handler则采用的是模块实现返回从他们被称为其中的价值。

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

Learn block syntax

+0

谢谢帕旺,它的工作原理。 – Lenin

+0

@Lenin请提出并接受答案。 – Pawan