1

我不明白为什么“第二个徽章打印”在控制台上什至什么都没有打印,但是对于“第一个徽章打印”,我确实看到了我得到了什么?!

-(void)runBadgeCall{
    NSLog(@"---RAN BADGE CALL---");
    [[API sharedInstance] commandWithParams:[NSMutableDictionary dictionaryWithObjectsAndKeys:
                                             @"getCountForBadge",@"command",nil]
                               onCompletion:^(NSDictionary *json){
                                   if([json objectForKey:@"badgeCount"]!= NULL){
                                   _badgeValue = [NSString stringWithFormat:@"%@",[json objectForKey:@"badgeCount"]];
                                     NSLog(@"1st badge print %@",_badgeValue);
                                   }
                               }];
    NSLog(@"2nd badge print %@",_badgeValue);


  }

我感觉它与线程有关,但我不明白为什么。如果有人能解释一下,那就太好了!

4

1 回答 1

1

检查控制台的顶部。看起来您记录了异步操作的完成处理程序,在这种情况下,调用日志语句的顺序将如下所示:

NSLog(@"---RAN BADGE CALL---");
NSLog(@"2nd badge print %@",_badgeValue);
NSLog(@"1st badge print %@",_badgeValue);

“第二个徽章打印”可能只是隐藏在 JSON 响应之上。

于 2013-08-07T23:21:35.263 回答