2012-11-28 49 views
0

我有兩個不同的UITableViewCell類型,比如A和B.如果基於圖像URL數據源,我使用A,圖像加載和B正在使用,如果圖像不'噸負載。我怎樣才能做到這一點?問題是,在cellForRowAtIndexPath我不知道圖像是否加載。那麼我可能必須首先加載所有的圖像。有另一種方法嗎?基於圖像加載確定單元格類型

有一個Story對象,我正在使用它有一個imageURL。 tableview的數據源是Story的數組。

+0

你如何區分圖像加載或不加載?有標誌的模型對象嗎?如果是,請使用該標誌將其區分爲cellForRowAtIndexPath方法。 – iDev

+0

@ACB我可以在模型對象中添加一個標誌。但是,然後確定這個標誌的價值,我不得不加載圖像第一..所以基本上我在後端進行圖像大小調整/裁剪。如果圖像可以根據後端的算法調整大小,那麼它會返回圖像,在這種情況下,圖像加載..但如果圖像失敗..然後在這種情況下,我想要使用單元格B.在這種情況下,標誌我使用的是UIImage,如果UIImage存在,那麼我使用單元格A,否則我使用B. – adit

+0

所以你的方法,試圖創建圖像如果它不能返回nil。然後檢查返回的內容是否爲零。 ---沒關係,我重讀你的文章。圖片是否加載了網址?你想檢查圖像是否存在於該網址? – mkral

回答

0
NSURLRequest *request = [NSURL URLWithString:@"http://a.com/image.png"]; 

UIImageView *imageview = [[UIImageView alloc]init]; 
[imageview setImageWithURLRequest:request placeholderImage:[UIImage imageNamed:@"image.png" ] success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) { 
    NSLog(@"Handle SUCCESS"); 
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) { 
    NSLog(@"Handle FAILURE"); }];