Objective c 加载数组中引用的图像

Objective c 加载数组中引用的图像,objective-c,Objective C,是否可以将图像名称存储在数组中,然后让UIImage通过引用数组加载此图像 [imageView setImage:[UIImage imageNamed:[quizArray objectAtIndex:1]]]; 图像位于资源文件夹中 谢谢你,克里斯 ps。。。初学者是的,这是可能的。另外,您的代码也是正确的。应用程序应加载数组中的第二个图像(索引从0开始) 如果你是初学者,你应该为iOS程序员找一些书或在线教程。例如,lynnda.com为您提供了一些视频教程。(当我还是初学者的时候,我

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

[imageView setImage:[UIImage imageNamed:[quizArray objectAtIndex:1]]];
图像位于资源文件夹中

谢谢你,克里斯


ps。。。初学者是的,这是可能的。另外,您的代码也是正确的。应用程序应加载数组中的第二个图像(索引从0开始)


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

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


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

绝对可能。但是,当您说图像在资源文件夹中时,我假设这意味着您只想从资源文件夹中获取图像,然后显示它,对吗

如果是这样,就没有必要将其填充到数组中。只需按如下方式访问它:

[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"];

绝对可能。但是,当您说图像在资源文件夹中时,我假设这意味着您只想从资源文件夹中获取图像,然后显示它,对吗

如果是这样,就没有必要将其填充到数组中。只需按如下方式访问它:

[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"];

u r right它崩溃了我用什么来代替ImageName我把它放在一个数组中作为随机测验的目标,有些问题是文本,有些图像问题总是在元素0处,然后是四个可能的答案,最后一个元素中确定了正确的答案好的,稍微慢一点。您是说图像有时在索引0处,有时不在索引0处?你能说得更清楚一点吗?具体在哪里?也许它在你的评论中丢失了。将其上传到类似的地方,并在此处发布链接。这里有一点数组quizArray=[[NSMutableArray alloc]initWithObjects:[NSMutableArray array WithObjects:@“Q:天空是什么颜色?”、@“蓝色”、“红色”、“绿色”、“黄色”、“1”、nil],[NSMutableArray WithObjects:@"问:Wots my dogs它然后被随机分配,所以每次测验开始时,问题都会以不同的顺序出现,问题总是在第一个元素中。我想在数组中的一些问题元素中存储一个图像。我只需要文本就可以很好地工作,只是无法计算图像位。让我这样说:这很好这对你的数据来说是一种糟糕的组织方法。让我在我的答案中提出另一种方法。没错,它崩溃了。我用什么来代替ImageName?我把它放在一个数组中作为随机测验的its,一些问题是文本和一些图像。问题总是在元素0处,然后是四个可能的答案,正确答案在最后一个元素好的,稍微慢一点。你是说图像有时在索引0处,有时不在索引0处?你能说得更清楚一点吗?它到底在哪里?也许它在你的评论中丢失了。上传到类似的地方,并在这里发布链接。这里有一点数组quizArray=[[NSMutableArray alloc]initWithObjects:[NSMutableArray阵列WithObjects:@“Q:天空是什么颜色?”、@“蓝色”、“红色”、“绿色”、“黄色”、“1”、零、[NSMutableArray阵列WithObjects:@"问:Wots my dogs它然后被随机分配,所以每次测验开始时,问题都会以不同的顺序出现,问题总是在第一个元素中。我想在数组中的一些问题元素中存储一个图像。我只需要文本就可以很好地工作,只是无法计算图像位。让我这样说:这很好这是一种糟糕的数据组织方法。让我在回答中提出另一种方法。