2012-09-05 18 views
-2

可能重复:
App crash on 4.0 but not on 5.0的UIImage使用dispatch_async工作模拟器(的iOS 5.1),但不上的设备(iOS 4.2的)

在我的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]; 
+0

为什么家伙你下来分级的问题? – Buntylm

+1

我没有低调,但我怀疑这是缺乏信息。 “不起作用”不是很有诊断性。 – borrrden

回答

1

这是我第三次已经回答了这个同样的问题... DISPATCH_QUEUE_PRIORITY_BACKGROUND仅适用于iOS 5.0及

App crash on 4.0 but not on 5.0

+0

是的,我刚刚发现它,你是我编辑我的Questions.But请清除给与整数值之间的差异,而不是DISPATCH_QUEUE_PRIORITY_BACKGROUND? – Buntylm

+0

'DISPATCH_QUEUE_PRIORITY_BACKGROUND'只是一个编译时间常量。你应该使用'DISPATCH_QUEUE_PRIORITY_BACKGROUND';使用它的值不会将该功能添加到iOS 4. –

+0

@Keithbunts iOS 4.2不知道如何处理该常量,因此请使用其中一个。 – borrrden

相关问题