UIImage使用dispatch_async在模拟器(iOS 5.1)上工作但不在设备上工作(iOS 4.2)

时间:2012-09-05 06:48:32

标签: iphone ios xcode multitasking

  

可能重复:
  App crash on 4.0 but not on 5.0

在我的iPhone应用程序需要下载图像格式服务器,所以使用此代码,但这在模拟器(iOS 5.1)上工作正常,但在真实设备(iOS 4.2)上没有。请看看。

 UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(5, 5, 260, 160)];
 NSURL *imageURL = [NSURL URLWithString:@"http://myImageURL.com/image.png"];

        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
            NSData *imageData = [NSData dataWithContentsOfURL:imageURL];

            dispatch_async(dispatch_get_main_queue(), ^{
                imageView.image = [UIImage imageWithData:imageData];
            });
        });
        [self.view addSubview:imageView];

1 个答案:

答案 0 :(得分:1)

这是我第三次回答同样的问题...... DISPATCH_QUEUE_PRIORITY_BACKGROUND仅适用于iOS 5.0及以上

App crash on 4.0 but not on 5.0