2012-09-05 26 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

相關問題