objective-c - 使用多个键订购 NSMutableDictionary

标签 objective-c ios xcode arrays nsmutabledictionary

我有一个 NSMutableDictionary有两把 key 。一种用于标题(例如“测试”),另一种用于距离(例如“200”英里)。

如何按最近或最远距离对这些值进行排序。订购时,我需要同时更改标题和距离值索引。

所以这将是 NSMutableDictionary 的常规版本:

Titles: (
    "Test1"
    "Test2"
    "Test3"
)

Distances: (
    "240"
    "43"
    "482"
)

和订购的版本(最近的距离):
Titles: (
    "Test2"
    "Test1"
    "Test3"
)

Distances: (
    "43"
    "240"
    "482"
)

最佳答案

我不禁觉得你想要的是 NSDictionaries 的 NSArray 或自定义对象的 NSArray。这种设计感觉真的很尴尬,并产生了额外的工作——因为如果你以这种方式构建数据,唯一真正的答案是“围绕整个事物创建一个自定义 API,非常小心地管理这个不变量,然后只通过那个接口(interface)改变这个数据结构。”

关于objective-c - 使用多个键订购 NSMutableDictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12572269/

相关文章:

iphone - 在 Xcode 4 中将 plist 根类型更改为 Array?

ios - 如何使用 3rd 方分发配置文件构建 iOS 应用程序

ios - UITabBar 的 TabBarItems

iphone - 相机拍摄后旋转图像并保存为PNG格式

ios - Bridging-header.h 导致 Command/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc 失败,退出代码为 1

ios - 是否可以在多个 UIViewController 中使用单个 UIView?

ios - 推送时隐藏 Boom Bar 是导航栏错误的原因

iphone - 用于指针/内存管理的 Cocoa 策略

ios - 尝试让我的应用播放像 Snapchat Stories 一样的故事

ios - 错误显示 : dyld_sim is not compatible with the loaded process