0
- (void)loadView 
{
    [super loadView];
    arrayOfImages = [[NSMutableArray alloc]initWithObjects:@"11.jpg",@"22.jpg",@"33.jpg", nil];       
    UIImageView *awesomeView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
    [awesomeView setImage :[UIImage imageNamed:[arrayOfImages objectAtIndex:0]]];
    awesomeView.contentMode = UIViewContentModeScaleAspectFit;
    [self.view addSubview:awesomeView]; 
    NSLog(@"%@",[arrayOfImages objectAtIndex:0]);
}

を入れるとNSMutableArray-(void)viewDidLoadUIImageViewも表示されず、NSLogNULLが表示されます。何故ですか?

ps。NSMutableArray は で完全に機能しました-(void)loadView。@interface .h ファイルで NSMutableArray *arrayOfImage を宣言しました

4

2 に答える 2

-1
-(void)loadView 
{
   [super loadView];
    arrayOfImages = [[NSMutableArray alloc]initWithObjects:[UIImage imageNamed:@"11.jpg"],[UIImage imageNamed:@"22.jpg"],[UIImage imageNamed:@"33.jpg"], nil];       
    UIImageView *awesomeView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; 
[awesomeView setImage :[UIImage imageNamed:[arrayOfImages objectAtIndex:0]]];
awesomeView.contentMode = UIViewContentModeScaleAspectFit;
[self.view addSubview:awesomeView]; 
NSLog(@"%@",[arrayOfImages objectAtIndex:0]);

これは機能しますが、表示される画像は 1 つだけです。つまり、配列のインデックス 0 の画像です。

すべてを表示したい場合は、ループを適用する必要があります。

于 2014-08-18T05:52:58.897 に答える