问题标签 [nsmutabledictionary]

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 投票
4 回答
64454 浏览

ios - Where's the difference between setObject:forKey: and setValue:forKey: in NSMutableDictionary?

When looking at the documentation, I hardly see any big difference. Both "value" and "object" are of type id, so can be any object. Key is once a string, and in the other case an id. One of them seems to retain the object, and the other don't. What else? Which one is for what case?

0 投票
1 回答
1827 浏览

objective-c - 将 2d int 数组添加到 NSDictionary

我是 Objective C 的新手,在将 2d int 数组添加到 NSMutableDictionary 时遇到了麻烦。“不兼容的指针类型”的代码错误 - 我认为这是因为 setObject 会期待一个对象..

这是代码-我正在尝试使用包含我的级别数据的字典:

我有两个问题:

  • 如何像这样将 int 数组(或类似数组)添加到字典中?
  • 有没有更好的方法来初始化我的游戏数据?

谢谢你的帮助,

拉克兰

0 投票
2 回答
5010 浏览

objective-c - 如何在 Objective-C 中使用嵌套字典正确释放 NSMutableDictionary 实例变量?

我有一个 Objective-C 类,它看起来像:

它的 setter 方法如下所示:

我已经创建了对象的一个​​实例,将数据放入 aDict,现在想要摆脱该对象,在进程中清理它的内存。两个问题:

1) 我应该在myClassdealloc方法中释放aDict吗,如图所示?

==================================================== ============================

2)我已经将几个子字典嵌套到aDict中,由keyAkeyB表示,如下所示:

[ aDict release]消息是否会“沿链传播”并清理 aDict 内的所有子字典,包括它们的键/值对象?或者,我是否必须做其他事情才能摆脱它们?

0 投票
1 回答
15431 浏览

iphone - 如何在不重用相同 NSArray 的情况下创建 NSArrays 的 Objective-C NSDictionary?

长期的 Windows 开发人员,第一次 Objective-C/iPhone 开发人员想要创建一个 NSArrays 的 NSDictionary,可以在带有字母部分的普通 UITableView 中显示。

这个数组字典的来源是一个包含按字母顺序排序的商店名称的数组:

Apple Store
Atlanta Bread Company
Borders
Build-A-Bear Workshop
Cargill Gallery
Dillards
Dick's Sporting Goods
Eddie Baure
FootLocker
GameStop
Heizberg Diamonds
LensCrafters
McDonald's
Nordstrom
Payless Shoe Source
Pottery Barn
Solstice
Starbucks Coffee
Victoria's Secret
White Barn Candle Co.

从源创建的数组字典应如下所示(括号中的数据类型):

Root(字典)
..A(数组)
........Apple Store(字符串)
........Atlanta Bread Company(字符串)
....B(数组)
... .....Borders (String)
....Build-A-Bear Workshop (String)
....C (Array)
....Cargill Gallery (String)
... .D (Array)
........Dillards (String)
....Dick's Sporting Goods (String)
....etc.

类似上述结构的数组字典填充 TableView 并显示如下:

A
Apple Store
Atlanta Bread Company
B
Borders
Build-A-Bear Workshop
C
Cargill Gallery
D
Dillards
Dick's Sporting Goods

我编写的创建数组字典的代码最终将最后一个商店(White Barn Candle Co.)放在每个节标题之后。

A
White Barn Candle Co.
B
White Barn Candle Co.
C
White Barn Candle Co.
D
White Barn Candle Co.

我意识到这种情况正在发生,因为我重用了一个临时数组,用 A 填充它,清除它,用 B 填充它,清除它等等。这是从源数组创建数组字典的实际代码。

我意识到我可以通过创建 26 个不同的数组并使用 switch 语句来选择要填充的正确数组来“蛮力”这一点,但我真的不想这样做。我认为更熟悉 Objective-C 的人可以为我提供更优雅的解决方案。

提前致谢。如果您需要更多信息,请告诉我。

0 投票
2 回答
1037 浏览

ios - NSMutableDictionary 没有写入文件

我有 NSMutableDictionary 对象说obj。当我使用 将其写入磁盘 [obj writeToFile:filename atomically:YES]时,该文件不会写入磁盘。但是同一组语句适用于较小的可变字典。

第一个obj(nonatomic, retain)类的属性对象。第二个较小obj的是临时局部变量。

0 投票
1 回答
2490 浏览

iphone - 在 NSArray 中取一些对象并将其随机放入标签中

我从 plist 中选择数组的索引。这是一本包含 10 行不同字符串的字典。

我想取 6 个元素并将它们随机放入 6 个标签中

我尝试将它传递到一个新的 NSMutableArray 中,但它不起作用:

我也试试这个:

但它给了我钥匙而不是价值,没有可能选择我需要的东西。

谢谢你的帮助。

0 投票
3 回答
10335 浏览

objective-c - NSMutable Array - objectAtIndex:超出范围的索引

我正在尝试查看加载了 NSMutableArray 的 NSMutableDictionary 并且我把它搞砸了,我不知道怎么做。我正在尝试加载更大的游戏问题列表,如果它们不是正确的级别,则将其删除。在我尝试删除之前,我没有收到错误消息。任何人都可以看到这段代码中的缺陷吗?我会非常感激的!

谢谢,

〜G

0 投票
3 回答
2892 浏览

iphone - NSMutableDictionary 被不同的类访问

在我的 iPhone 应用程序中,我使用整数来跟踪很多变量。我在我的 AppDelegate 文件(它是一个多视图应用程序)中声明并初始化了它们,然后如果我在其他视图(类)中声明它们并且值将保持不变。这样,我可以在 App Delegate 文件中设置 Money = 200,然后在另一个视图中声明“int Money;” 并且它已经设置为 200(或者任何 Money 碰巧是。)

但是,如果我将所有这些变量存储在字典中(我现在正在这样做),我如何从不同的类/视图访问该字典?我不能简单地再次“声明”它,我已经尝试过了。我认为这与字典是一个对象有关,所以它需要被引用或其他东西。

我需要能够从所有不同的视图访问同一个字典。

初始化字典并向其中添加内容可以正常工作,但在另一个类中。

您可以看到我尝试再次为此类初始化字典,但这显然不起作用。我只想在 AppDelegate 文件中初始化和设置字典一次,然后从其他类访问该字典以更改其中的内容。有没有办法做到这一点?

0 投票
3 回答
112195 浏览

iphone - 我们如何存储到 NSDictionary 中?NSDictionary 和 NSMutableDictionary 有什么区别?

我正在开发一个应用程序,我想在其中使用NSDictionary. 谁能给我一个示例代码,解释如何使用NSDictionary一个完美的例子来存储数据的过程?

0 投票
1 回答
130 浏览

iphone - 可可触感。类方法 init 版本 alloc/init 之间的语义差异是什么?

有人可以为我澄清这两者之间的语义差异:

self.foo = [NSMutableDictionary dictionaryWithCapacity:theCapacity];

self.foo = [[[NSMutableDictionary alloc] initWithCapacity:theCapacity] autorelease];

可以互换吗?如果不是,它们究竟有何不同。

提前致谢。

干杯,道格