问题标签 [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 投票
5 回答
22225 浏览

iphone - 如果键以@符号开头,则在 NSDictionary 上使用 valueForKeyPath?

我想valueForKeyPath在我的 上使用NSDictionary,但问题是其中一个键是以 @ 符号开头的字符串。我无法控制密钥的命名。

我在尝试创建密钥路径时遇到了问题,因为我遇到了格式异常,即使在尝试转义 @ 符号时也是如此:

这工作正常:

然而,这些都不起作用:

有任何想法吗?

谢谢,

麦克风

0 投票
3 回答
4111 浏览

iphone - valueForKey 只返回内存地址而不是实际值

当我运行它并打印出主题时,我得到以下信息:

但是,当我查看 topicid 时,该值始终是内存地址。我究竟做错了什么?

0 投票
2 回答
160 浏览

objective-c - 在 Objective-C 中将整数映射到布尔值

在 Objective-C 中,我需要将可变集合整数(单调、非连续、可能变得相当大)关联到布尔值。显而易见的方法就是将带有 NSNumbers 的 NSDictionary 作为键和值。

有没有更好的方法不涉及太多的对象创建?如果有我不熟悉的技术,我真的不想进行预优化。

这些数据对于特定的类实现是私有的,因此不需要与其他 Cocoa API 集成。

0 投票
3 回答
504 浏览

iphone - Cocoa 和 Cocoa Touch:是字典上的对象吗?

我认为在字典中查找对象是否会更简单,但似乎不是。

我有一个 NSMutableDictionary,只有一个名为“products”的键。

我有几个产品动态添加到字典中,使用类似的东西

等等

在某些时候,我想知道,例如,香蕉是否在字典中。

有没有办法做到这一点?我的意思是,只是想知道一个对象是否在字典上?

谢谢你的帮助。

0 投票
3 回答
2468 浏览

objective-c - 我应该如何构造具有多个键的 NSDictionary?

我有一种情况,我想将一对对象映射到信息字典。我想避免创建 NSDictionary 的 NSDictionaries 的 NSDictionary,因为这简直令人困惑且难以维护。

例如,如果我有两个类,Foo 和 Bar,我想要 {Foo, Bar} -> {NSDictionary}

除了基于所讨论的两种类型制作自定义类(仅用作字典键)之外,还有其他选择吗?也许类似于我不知道的 STL 的配对类型?

0 投票
1 回答
1261 浏览

cocoa - NSDictionaryController 似乎没有观察到内容字典的变化

我一定遗漏了一些简单的东西,但是我在将 tableView 绑定到 NSDictionaryController 时遇到了一些麻烦。这是我当前方案的模型:

TableViewColumn --bindsTo-->DictionaryController.arrangedObjects.(value or key) --bindsTo-->someClass.someClassMember.aDictionary。

我已经通过在 init 上向 aDictionary 添加一个条目来测试 tableView,它可以正确显示。但是当另一个方法生成一个对象然后添加到 aDictionary 时,TableView 似乎没有更新,甚至不知道 aDictionary 现在有两个条目。我已经尝试了我能想到的一切。我没有直接访问 aDictionary....我已经尝试过(在 someClassMember 中)[self aDictionary setValue:forKey:] 和 [self setValue:forKeyPath:@"aDictionary"] 和类似的变体。键是一个字符串,所以它应该是 KVC/KVO 兼容的,我在 someClassMember 中有'@synthesize'd aDictionary。

我错过了什么?为什么字典的新条目不会出现在 tableView 中?

提前致谢

0 投票
4 回答
2724 浏览

iphone - 关于如何从 plist 中获取数据以及应该如何布局的问题

这是我关于在 plist 上检索数据的第一个查询的后续问题。现在我已经设法通过随机图像调用检测到用户对我的视图所做的触摸(感谢 phytonquick)。

我现在在如何比较我从用户在视图中的随机图像上触摸得到的值与保存在 plist 数据中与用户触摸的随机图像同名的值时遇到了麻烦。我知道如何计算触摸距离,所以我可以调整命中点。

我也不知道我应该如何构建我的 plist 数据。我已经阅读了几本带有示例的书(例如“iphone 3 dev”),但是当我看到的大多数示例都是用于桌面视图时,我无法特别弄清楚。这就是我布局我的 plist 的方式:

有人可以请我指导我应该如何做到这一点的正确道路。谢谢你。

0 投票
1 回答
2173 浏览

iphone - 使用新版本的应用程序更新和更改设置 plist 文件

我的应用程序的资源文件夹中有一个默认设置 plist 文件,并在第一次启动时被复制到文档文件夹中。

在应用程序的后续版本中,如何将其文档中的 plist 设置与自上一版本以来添加的任何新键和值(可能是嵌套的)合并?

我已经看到一种模式,其中属性实际上是在应用程序中创建为 NSDictionary(具有所有默认设置),然后保存在 plist 文件中的当前设置与该字典合并,然后保存在当前 plist 上。

这是一个好方法吗?如果是这样,您如何将可能具有多个嵌套值的 NSDictionary 与子数组和子字典合并?

此外,是否建议使用单独的自定义 plist 文件进行设置,还是应该始终使用 NSUserDefaults?NSUserDefaults 是否处理版本控制和更改默认值?

非常感谢,

麦克风

0 投票
6 回答
22699 浏览

objective-c - NSDictionary 键按数值排序

我将名称存储为键,将分数存储为值,NSDictionary以保存在NSUserDefaults. 然后我想取回按分数排序的键,但我似乎无法按数字对它们进行排序,只能按字符串。例如,分数 100、50、300、200、500 的列表给了我 100、200、300、50、500。

可以这样做还是我需要以不同的方式去做?

0 投票
1 回答
2432 浏览

objective-c - Objective-C NSDictionary 值比较

我从 NSDictionary 键值对返回一个 T 或 F 字符串。我试图找出它是 T 还是 F,但它从来没有像我期望的那样工作。我确信这个问题有一个非常基本的解决方案。