【问题标题】:Objective C array "key" instead of indexObjective C数组“键”而不是索引
【发布时间】:2011-09-14 16:04:14
【问题描述】:

我希望能够使用NSString 或类似的东西来存储字符串数组,但通过键(我认为这就是所谓的)而不是数字索引来访问它们。

例如,不要这样做:

return names[3];

做这样的事情:

return names["Bob"];

你如何存储和检索这样的值?

请原谅我对此缺乏了解。我已经使用 Objective C 大约一年了,但从来没有做过这样的事情。

【问题讨论】:

    标签: objective-c arrays indexing key


    【解决方案1】:

    在 Objective-C 中,您可以使用 NSDictionary 类及其可变子类 NSMutableDictionary 来执行此操作。您可以使用

    获取键的值
    NSString *value = [myDictionary objectForKey:@"Bob"];
    

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        这些类型的数组取自 C(其中 Objective-C 是一个超集),它只允许整数作为它们的索引。

        您可能希望使用NSDictionary,它是objectWithKey 样式的消息。

        【讨论】:

        • 数组本质上总是按索引....用最终不是的语言命名数组? (出于好奇)
        • @bbum 我对php的了解有限..但是php呢?
        • "PHP 中的数组实际上是一个有序映射。"即它是具有确定键顺序的字典。坦率地说,所谓的数组是奇怪的。没有详尽的研究,它似乎更类似于 Ruby 的 Hashes,因为元素按插入顺序排序,但它仍然是幕后的真正地图/字典。
        猜你喜欢
        • 2018-11-12
        • 2017-08-27
        • 1970-01-01
        • 1970-01-01
        • 2018-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多