加载数组中引用的图像

时间:2011-05-08 22:06:56

标签: objective-c

是否可以将图像名称存储在数组中然后让UIImage通过引用这样的数组来加载此图像

[imageView setImage:[UIImage imageNamed:[quizArray objectAtIndex:1]]];

图片位于资源文件夹

谢谢Chris

ps ...初学者

2 个答案:

答案 0 :(得分:1)

是的,有可能。另外,您的代码也是正确的。应用程序应在阵列中加载第二个图像(索引从 0 开始)。

如果您是初学者,您应该为iOS程序员寻找一些书籍或在线教程。例如,lynnda.com为您提供了一些视频教程。 (当我还是初学者时,我也使用过其中一个):))

答案 1 :(得分:0)

绝对可能。但是,当您说the image is in the resource folder时,我认为这意味着您只想从资源文件夹中获取图像,然后显示它,对吗?

如果是这样,则无需将其填入数组中。只需访问它:

[imageView setImage:[UIImage imageNamed:@"someimage"]];

但是,在您的示例中,您将[quizArray objectAtIndex:1]imageNamed:结合使用。请记住,imageNamed:只接受一个字符串参数,因此将对象传递给它会使应用程序崩溃。


我会以不同的方式安排你的问题。与使用数组不同,使用字典会更好。像这样:

NSImage *image1 = [NSImage imageNamed:@"myimage"];
NSMutableDictionary *quizDict = [[NSMutableDictionary alloc] initWithObjectsAndKeys:
                                 @"What colour is the sky?","question",
                                 @"blue",@"answer",
                                 @"red",@"wrong1",
                                 @"green",@"wrong2",
                                 @"yellow",@"wrong3",
                                 image1,@"image",nil]; 

然后要访问它,您可以使用键名称,如下所示:

NSString *question = [quizDict objectForKey:@"question"];
NSString *correct = [quizDict objectForKey:@"answer"];
NSImage *image = [quizDict objectForKey:@"image"];