ios - 在 API 服务器调用中打印字符串,但不在其外部打印

标签 ios objective-c multithreading api

我不明白为什么“第二个角标(Badge)打印”在控制台中什么都没有打印,但对于“第一个角标(Badge)打印”我确实看到了我得到的东西?!

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


  }

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

最佳答案

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

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

“2nd badge print”可能只是隐藏在 JSON 响应之上。

关于ios - 在 API 服务器调用中打印字符串,但不在其外部打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18115328/

相关文章:

android - "Unresolved reference: NativeSqliteDriver"for sqldelight 添加到 ios 源集

ios - CloudKit fetchRecordChangesOperation 给出了 "AppDefaultZone does not support sync semantics"

java - 并行运行长作业,并且仅在所有作业完成后更新 UI

html - 样式在 iOS 手机差距应用程序中无法正确显示

iphone - 从不兼容类型 'AppDelegate *' 分配给 'id<UIApplicationDelegate>'

iphone - iCloud 和 CoreData

ios - 如何管理本地 Xcode 项目的传递依赖

java - 当不存在共享对象时使用ThreadLocal

java - Transformer Kafka 中的 ManagedChannel 是线程安全的吗

ios - UIView 对象可以充当 UITableView 对象吗?