问题标签 [nsdictionary]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
74372 浏览

ios - 带有有序键的 NSDictionary

我有一个 NSDictionary(存储在 plist 中),我基本上将其用作关联数组(字符串作为键和值)。我想将键数组用作我的应用程序的一部分,但我希望它们按特定顺序排列(不是我可以编写算法将它们排序的顺序)。我总是可以存储一个单独的键数组,但这似乎有点笨拙,因为我总是必须更新字典的键以及数组的值,并确保它们始终对应。目前我只使用 [myDictionary allKeys],但显然这会以任意、无保证的顺序返回它们。Objective-C 中是否有我缺少的数据结构?有人对如何更优雅地做到这一点有任何建议吗?

0 投票
2 回答
1514 浏览

cocoa - 如何访问 Cocoa 中大型 NSDictionary 的特定子集?

我有一个包含大量自定义对象的 NSDictionary 对象。对象要么属于 B 类,要么属于 C 类,两者都从 A 类继承。如果对象属于 B 类,它们将有一个内部标志 (kindOfCIsh),用于将来的分组。

如何在我的程序中的不同时间获取包含这些对象的不同分组的 NSDictionary(或 NSArray)?在一种情况下,我需要所有 B,但另一种情况下,我需要所有 C 对象,以及满足 (kindOfCIsh == true) 的 B 对象。

有没有一种简单的方法可以访问这些子集?也许使用过滤谓词?当然,我可以遍历整个字典并手动构建所需的子集,但我觉得有更好的方法。

任何帮助表示赞赏。

0 投票
1 回答
1505 浏览

objective-c - 将两个不同的模型键路径绑定到同一个 NSArrayController 选择

假设我有以下字典数组:

如何将fullName值绑定到 NSPopUpButton 控件的值,但将选择绑定isoName到 NSUserDefaults?我有一个使用上述数组设置的 NSArrayController,并且我的 NSPopUpButton 绑定到此控制器,模型键路径为“fullName”,但我想将其保留isoName在 NSUserDefaults 中。这可能吗?有没有更好的方法来解决这个问题?

0 投票
5 回答
10311 浏览

iphone - 从 NSDictionary 实例化自定义类

我觉得这是个愚蠢的问题,但我还是会问...

我有一个NSDictionary对象集合,其键/值对对应于我创建的自定义类,称之为MyClass。有没有一种简单或“最佳实践”的方法可以让我基本上做一些类似MyClass * instance = [地图NSDictionary属性的事情MyClass ];NSCoding我有一种感觉,我需要用or做点什么NSKeyedUnarchiver,但与其自己跌跌撞撞,我认为那里的某个人可能能够为我指明正确的方向。

0 投票
3 回答
18961 浏览

cocoa - 哪种检查 NSDictionary 是否包含特定键的方法更快?

我可以通过两种方式测试 NSDictionary 中是否存在键:

哪种方法更快,为什么?

0 投票
1 回答
1786 浏览

iphone - 将 UIImageView 添加到 NSMutableDictionary

我正在尝试将 UIImageView(s) 的多个实例添加到 NSMutableDictionar(ies) 的 NSMutableArray 中。

我这样做是为了能够返回并拉出 UIImageView 参考,以更改这些图像的位置。

似乎,当我从字典中提取信息时,它只返回一个空指针......

关于我应该如何实现这一点的任何建议?可能有一种更简单的方法来存储 n 个图像的列表并能够在以后引用它们......

(我正在使用字典,因为我还存储了一个 dy/dx 值来表示运动变化率)

0 投票
3 回答
4818 浏览

iphone - 解析 JSON 数组

我使用 touchJSON 从 Web 服务中获取 JSON 数组。看起来像这样:

我无法将其解析为 NSDictionary,因为 touchJSON 不支持 JSON 数组。

如何将我的 JSON 数组放入 NSDictionary?

问候

0 投票
5 回答
7219 浏览

iphone - 有没有一种简单的方法可以按键值对 plist(字典数组)进行排序?

我需要按键值重新排序 plist(字典数组)。

在此示例内容中,我想按键名称 (Matt, Joe) 的值排序:

有没有简单的方法?我不想每次运行应用程序时都在代码中执行此操作,我只想对数据文件执行此操作。

有任何想法吗?

很高兴使用任何工具来完成这项工作:命令行上用于排序的忍者参数、plist 编辑器、文本编辑器或其他任何工具。

0 投票
1 回答
14746 浏览

iphone - 无法在 NSMutableDictionary 中设置对象:forKey:

我确定我在尝试编写的一个简单的 iPhone 程序中遗漏了一些明显的东西,但是代码看起来很基本,我看不出有什么问题。

我正在尝试使用 NSMutableDictionary 来存储类列表及其关联的保存文件名。在头文件中我声明了字典

当然,在实现文件中:

我在 ViewDidLoad 从保存类列表的现有文件中初始化此字典:

}

后来,我使用 setObject:forKey: 添加了一个项目,但字典永远不会改变。最初我在另一个视图控制器中使用指向此 ClassList 文件的指针执行此操作,但一旦我发现这不起作用,我简化并尝试在 ClassList 文件中设置任何示例对象和键:

我查看了调试器变量列表,它显示 classFilenameGlossary 正确标识为具有 0 个键/值对的 NSMutableDictionary。我没有收到任何错误;字典永远不会改变。目前,从文件 masterindexpath 加载的字典是空的(因为我还不能添加任何项目),但这不应该阻止我向字典中添加项目。

我是 iPhone 编程的初学者,所以我确信我缺少一些基本的东西。我会很感激任何帮助。

0 投票
6 回答
105635 浏览

objective-c - 使用 NSPredicate 根据 NSDictionary 键过滤 NSArray

我有一系列字典。

我想根据一个键过滤数组。

我试过这个:

这不起作用,我没有得到任何结果。我想我做错了什么。如果“SPORT”是 ivar,我知道这就是方法。我认为如果它是一把钥匙,它可能会有所不同。

但是,我无法找到示例。

谢谢


更新

我在要搜索的字符串周围添加了引号。

它仍然不起作用。


更新 2

解决了。我实际上不得不删除单引号,这似乎与指南所说的背道而驰。

我真正的问题是我有一个嵌套数组,我实际上并没有评估字典。骨头动。