2010-05-11 127 views
2

我嘗試在iphone應用中顯示圖像,但未顯示。我在IB連接,我檢查顯示本地圖像,它運作良好。我也檢查從圖像的網址,這是可以的。我用下面的代碼:在uiimageview中顯示來自url的圖像

NSURL *imageURL = [NSURL URLWithString: aVideo.urlThumbnail]; 
NSData *imageData = [NSData dataWithContentsOfURL:imageURL]; 
UIImage *image = [UIImage imageWithData:imageData]; 
imageView.image = image; 

//Video.h 
NSString *urlThumbnail; 

,這是我的視圖代碼。

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    [tableView reloadData]; 
} 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    NSLog(@"URLTHUMBNAIL: %@", aVideo.urlThumbnail); 
    NSURL *imageURL = [NSURL URLWithString: aVideo.urlThumbnail]; 
    NSData *imageData = [NSData dataWithContentsOfURL:imageURL]; 
    UIImage *image = [UIImage imageWithData:imageData]; 
    imageView.image = image; 
} 

的NSLog上控制檯getts

URLTHUMBNAIL: http://147.83.74.180/thumbnails/56.jpg 

上IB的連接是好的,因爲我可以使用在相同的IBAction爲下一個代碼顯示的局部圖像

UIImage *img = [UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"barret" ofType:@"png"]]; 
+2

代碼看起來不錯。再次檢查您的IBoutlets,或發佈更多代碼。 – Jordan 2010-05-11 22:39:56

+0

IBoutlet沒問題。我在ViewDidAppear上寫這個。 – nabrugir 2010-05-11 22:45:32

回答

1

它可以是非常對自己有幫助NSLog()一些關於變量中的真實情況的說明。如果你真的有一切正確的IB聯繫,可能是aVideo.urlThumbnail沒有設置。我希望在使用它創建NSURL之前在控制檯中看到該值。

+0

我在這個問題上添加了測試。 – nabrugir 2010-05-12 00:22:56

0

首先,由於NSData dataWithContentsOfURL:訪問網絡,您應該考慮在後臺執行此操作。否則,您的用戶界面可能無法響應。

您應該考慮添加一些額外的日誌記錄來檢查imageDataimage的值。此外,您可以致電NSData dataWithContentsOfURL:options:error:查看是否是失敗的根源。

相關問題