NSDictionary 适用于键值对,当您具有三个值时,哪种数据结构最适合?最好为这 3 个值创建一个类,然后让数组中的每个对象都包含该类的实例吗?
具体来说:这个数据结构,姑且称之为Person吧,我设想有三个值: (NSString)name, (int)age, (BOOL)isAlive
这些将保存在数组(?)中。重要的是既能使用名称作为键,又能用从零开始的数字引用整个 block 。
最佳答案
如果您有一个键和两个值,您可能会为这两个值创建一个类并仍然使用字典。
如果您有两个键和一个值,您可能会使用嵌套字典 - 即键是第一个键而值是另一个字典的字典。嵌套字典的键是第二个键,值是您的实际值。
预计到达时间:
现在您已经澄清了您的问题 - 如果您需要通过键或整数索引访问您的集合,您仍然可以使用字典。
要通过键获取项目,您可以这样做:
[myDict objectForKey:@"joe"];
要通过索引获取项目,您可以使用 allKeys 数组:
[myDict objectForKey:[[myDict allKeys] objectAtIndex:1]];
如果按索引获取人物的唯一目的是循环遍历整个集合,您最好考虑使用 keyEnumerator 方法来枚举循环中的键并使用这些键查找值。
关于iphone - 如果 NSDictionary 适用于成对值,那么什么适用于三重值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1017564/