gpt4 book ai didi

ios - NSURLSession block 中的方法延迟

转载 作者:行者123 更新时间:2023-11-29 01:55:08 27 4
gpt4 key购买 nike

当我调用这个 block 时:

NSURLSession *session = [NSURLSession sharedSession];
[[session dataTaskWithURL:url
completionHandler:^(NSData *data,
NSURLResponse *response,
NSError *error) {

_data = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];

_label.text = [NSString stringWithFormat:@"%@°",([[[self.data objectForKey:@"main"] objectForKey:@"temp"] floatValue]) - 273.15)];

NSLog(@"%@",self.data);


}] resume];

即使 NSLog 被调用, block 内的代码也需要很长时间才能执行 - 这是怎么回事?我尝试了各种解决方案,但没有任何效果。

最佳答案

始终在主线程上执行 UI 更新相关任务,否则执行 UI 需要时间。

喜欢,

  1. 更新标签文本。
  2. 在 ImageView 上设置图像。
  3. 定时器相关操作。

所以使用下面的代码

dispatch_async(dispatch_get_main_queue(), ^{
_label.text = [NSString stringWithFormat:@"%@°",([[[self.data objectForKey:@"main"] objectForKey:@"temp"] floatValue]) - 273.15)];
}

关于ios - NSURLSession block 中的方法延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30952922/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com