gpt4 book ai didi

objective-c - 如何访问对象数组的元素

转载 作者:行者123 更新时间:2023-11-29 04:28:57 26 4
gpt4 key购买 nike

我的应用程序中有一个对象数组。

NSMutableArray *questions = [[NSMutableArray alloc] init];

[questions addObject:[self addQuestion:@"QUESTION 1" option1:@"ans1" option2:@"ans2" option3:@"ans3" option4:@"ans4" option5:@"ans5" answer:2]];

[questions addObject:[self addQuestion:@"QUESTION 2" option1:@"ans1" option2:@"ans2" option3:@"ans3" option4:@"ans4" option5:@"ans5" answer:2]];

在我看来,我有 6 个不同的标签。一个用于问题,其他用于选项。但是,我无法弄清楚如何到达第一个对象的“选项 2”,以便我可以将其内容放入标签?

最佳答案

使用 NSDictionary(或 NSMutableDictionary)!或者创建一个自定义类!有很多很好的方法可以有效、安全地解决这个问题,您需要权衡您的选择。除非你的方法的返回值确实是一个对象(如 NSMutableDictionary),否则你现在所拥有的肯定不会起作用。

如果你选择使用字典,你可能会这样处理

NSMutableDictionary *question = [[NSMutableDictionary alloc] initWithCapacity:7];
[question setObject:@"Ask a question" forKey:@"question"];
[question setObject:@"Option 1" forKey:@"1"];
[question setObject:@"Option 2" forKey:@"2"];
[question setObject:@"Option 3" forKey:@"3"];
[question setObject:@"Option 4" forKey:@"4"];
[question setObject:@"Option 5" forKey:@"5"];
[question setObject:@"2" forKey:@"Answer"];

//Keep in mind, the numbers in these dictionary entries are treated as strings

然后您可以将此字典添加到数组中:

[questions addObject:question];

要访问任何给定问题词典对象的正确答案,您可以调用:

NSString *answer = [question objectForKey:[question objectForKey:@"Answer"]];

..将返回一个字符串:“Option 2.”

要访问要放入标签中的选项文本:

NSString *option = [question objectForKey:@"2"];

..这也会返回一个字符串:“Option 2.”

希望这有帮助,很乐意详细说明。

关于objective-c - 如何访问对象数组的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11971007/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com