ios - 如何从 iOS 字典中给定的值中查找键

标签 ios objective-c nsdictionary nsmutabledictionary

<分区>


关闭 8 年前

我正在创建一个项目,我坚持从给定值中检索键的概念。 我已经创建了一个添加字典值的 TableView - 为键“city_id”说“city_names”。 如果用户选择一个城市,那么我想获得该城市各自的“city_id”。

我有字典形式

"city":[
    {
        "id":"1",
        "city":"City1"
    },
    {
        "id":"2",
        "city":"City2"
    },
    {
        "id":"3",
        "city":"musat"
    },
    {
        "id":"4",
        "city":"city3"
    },
    {
        "id":"5",
        "city":"City 4"
    }
]

我比较关心获取选择城市的子字典的相应索引。

提前致谢。

最佳答案

因此,您可能正在通过其数据源方法填充 TableView ,并希望在用户选择特定行时引用回您的模型数据?

在那种情况下,您可能应该保留一个键数组以及模型字典。然后,您可以使用传递给 TableView 委托(delegate)的行从键数组中检索键,并从那里获取字典条目的键。

这是可行的,因为数组和 TableView 一样具有固定的顺序,并且您可以按照适合显示数据的任何顺序对数组进行排序。字典没有固定顺序,因此不应用作模型数据的唯一容器。

这种方法的缺点是您需要维护两个数据结构,因此最好的方法是为您的模型数据创建一个自定义类,并使用这些模型对象的单个数组。这种方法还有更多优势。

关于ios - 如何从 iOS 字典中给定的值中查找键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24364594/

上一篇:ios - 当我们可以使用子类时,为什么我们需要类别?以及当我们可以使用函数时为什么需要 block ?

下一篇:ios - 如何在 iOS 谷歌地图中保留标记的引用

相关文章:

ios - 使用 NSlocalizedstring 翻译一个 NSdictionnary 数组

c# - asp.net:如何检测 iOS/Android?

Objective-C中的符号和花括号,@{...}是什么意思?

Objective-C:forKey 和 forKeyPath 有什么区别?

iphone - CGPoint 旋转改变与原点的距离

iphone - POST 请求到 Objective-C 网站

ios - WebView 在 Xcode 7.x 中不返回 YouTube 视频 [W/Code+Images]

ios - swift : [NSDictionary]()

ios - UIView subview 不调整大小

iphone - 如何以编程方式将面包屑 View 添加到我的 UINavigationController 应用程序?