2013-02-14 57 views
1

我想使用此代碼我UIImage從web服務添加到我的NSMutableArray:如何的UIImage添加到NSMutableArray的

for (int i=0; i<[totalRowCountString intValue]; i++) 
{  
    NSString *criticsRatingString = [[JSON valueForKeyPath:@"movies.ratings.critics_rating"] componentsJoinedByString:@" "]; 
    NSLog(@"criticsRatingString: %@", criticsRatingString); 

    if ([criticsRatingString isEqualToString:@"Certified Fresh"]) 
    { 
     self.ratingImage = [UIImage imageNamed:@"rt_certified_fresh.png"]; 
    } 
    else if ([criticsRatingString isEqualToString:@"Fresh"]) 
    { 
     self.ratingImage = [UIImage imageNamed:@"rt_fresh.png"]; 
    } 
    else if ([criticsRatingString isEqualToString:@"Rotten"]) 
    { 
     self.ratingImage = [UIImage imageNamed:@"rt_rotten.png"]; 
    } 
    else if ([criticsRatingString isEqualToString:@"Spilled"]) 
    { 
     self.ratingImage = [UIImage imageNamed:@"rt_spilled.png"]; 
    } 
    else if ([criticsRatingString isEqualToString:@"Upright"]) 
    { 
     self.ratingImage = [UIImage imageNamed:@"rt_upright.png"]; 
    } 

    [tomatorRatingImages addObject:self.ratingImage]; 
    NSLog(@"tomatoRatingImages: %@", tomatorRatingImages); 
} 

但我的NSLog爲tomatoRatingImages返回NULL。任何想法爲什麼它返回NULL?

更新:我的NSMutableArray已經在我的viewWillAppear方法中初始化。

回答

3

在添加對象之前,您必須初始化數組。

NSMutableArray *tomatorRatingImages = [[NSMutableArray alloc] init]; 
+0

它已在我的viewWillAppear方法中初始化。 – jaytrixz 2013-02-14 03:11:43

+1

沒關係。我找到了答案。在我的viewWillAppear的某處出現了一個錯字錯誤,我沒有正確初始化它。感謝endy指出它。 – jaytrixz 2013-02-14 03:14:47

0

初始化這樣

NSMutableArray * tomatorRatingImages =[[NSMutableArray alloc]initWithCapacity:3]; 
2
NSMutableArray * tomatorRatingImages =[[NSMutableArray alloc]init]; 

[tomatorRatingImages addObject:[UIImage imageNamed:@"rt_spilled.png"]]; 

[tomatorRatingImages addObject:[UIImage imageNamed:@"rt_spilled1.png"]]; 

[tomatorRatingImages addObject:[UIImage imageNamed:@"rt_spilled2.png"]]; 

您可以在NSMutableArray中輸入多個圖像。

0

如果您有一個NSMutableArray實例的屬性,最好編寫getter來初始化它。它只負責初始化只有變量的變量,並且只在需要時才加載變量。

-(NSMutableArray *) tomatorRatingImages { 
     if(_tomatorRatingImages == nil) { 
       _tomatorRatingImages = [NSMutableArray alloc] init]; 
     } 
     return _tomatorRatingImages; 
    }