iOS macOS 异步加载数据再回到主线程

复制代码
#import "ViewController.h"  
  
@interface ViewController ()  
  
@end  
  
@implementation ViewController  
  
- (void)viewDidLoad {  
    [super viewDidLoad];  
    // Do any additional setup after loading the view.  
      
    // 异步加载数据  
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{  
        // 模拟数据加载(如网络请求)  
        NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://example.com/data"]]; // 注意:这只是一个示例,实际上你可能会使用如AFNetworking或URLSession等库  
          
        // 解析数据(如JSON)  
        NSError *error;  
        NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];  
          
        // 处理数据...  
          
        // 回到主线程更新UI  
        dispatch_async(dispatch_get_main_queue(), ^{  
            // 更新UI,例如:  
            self.label.text = jsonDict[@"someKey"]; // 假设jsonDict有一个key为"someKey"的值  
        });  
    });  
}  
  
@end
复制代码

 

posted on   高彰  阅读(16)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2020-05-08 新媒体运营借鉴
2020-05-08 iOS TestFlight 发布包测试
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示