簡體   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