问题标签 [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.
iphone - NSMutableDictionary 中的内存泄漏,NSXMLParser 中的 NSArray
我在解析我的一个 xml 文档时遇到了严重的内存泄漏。
我正在使用 NSXMLParser 迭代每个节点(下面的 xml 示例中的专辑),然后迭代每个照片节点并将结果添加到 NSArray。
我有 2 个保留属性,它们在每个循环中存储两个值。这些值与包含每个照片节点的另一个 NSArray 一起添加到 NSMutableDictionary 对象中。生成的字典被添加到 NSArray 以在应用程序的其他地方使用。
我有一个按钮,可以在应用程序的某些点重新加载 xml 文档。下一次调用它是在发生泄漏时。Instruments 显示 NSCFArray 和 NSCFString 正在泄漏,并且出现在 didEndElement 中。
我到底哪里错了。任何意见将是有益的。
这是xml的片段。
objective-c - Cocoa: Any downside to using NSSet as key in NSMutableDictionary?
Is there any downside to using NSSet
as key in NSMutableDictionary
, any gotchas to be aware of, any huge performance hits?
I think keys are copied in Cocoa containers, does it mean NSSet is copied to dictionary? Or is there some optimization that retains the NSSet in this case?
Related to Can a NSDictionary take in NSSet as key?
Example code:
Outputs:
iphone - 如何在循环中将 NSMutableDictionary 的对象添加到 NSMutableArray
我很难将数据结构添加到数组中以从循环中创建字典数组。我只知道 NSMutableArray 中的 addObject 只添加指向它的指针。我想知道如何实现我的目标。
这是我的代码:
从上面的代码中,数组 workOrders 将仅添加最后一个对象的副本。我卡在这里无法继续显示正确的数据。
任何帮助将不胜感激。
谢谢
objective-c - NSMutableDictionary 线程安全
我在使用NSMutableDictionary
.
主线程正在从NSMutableDictionary
以下位置读取数据:
- 关键是
NSString
- 值为
UIImage
异步线程正在将数据写入上述字典(使用NSOperationQueue
)
如何使上述字典线程安全?
我应该做NSMutableDictionary
财产atomic
吗?还是我需要进行任何其他更改?
@property(retain) NSMutableDictionary *dicNamesWithPhotos;
iphone - 如何清除字典?
我目前正在执行以下操作以清除 NSMutableDictionary
释放行实际上并不释放字典中的任何对象。我仍然可以在下一行看到所有这些。直到执行 alloc 行,字典才被清零。有更好的方法吗?
iphone - 在 plist 中处理持久布尔值的最佳方法?
处理从 UISwitch 设置派生并存储在作为持久设置保存到用户目录的 NSMutableDictionary 中的布尔值的最佳方法是什么?具体来说,在写入文件系统和从文件系统读取的 NSMutableDictionary 中,保持布尔值与数值不同的最佳方法是什么?
========
补充说:感谢阿德里安和本。所以,结果是如果通过 [NSNumber numberWithBool:] 存储(这是我一直在做的)没有方便的方法来确定该值是否源自布尔值,对吗?
第二部分是我存储的 NSMutableDictionary 最初是通过具有布尔值的 plist 创建它来创建的。这些值在第一次读入时具有 NSCFBoolean 类。现在我的策略是将我在字典中使用的值与 plist 中的相应条目进行比较。
这很重要的原因是我正在动态生成界面元素以允许用户操作这些值,并且我正在将布尔值与 UISwitch 相关联。如果我通过转换为数字而丢失了原始类,我会得到一个不合适的用户界面元素。
我正在考虑将数组替换为存储值,其中第一个值是存储值,其余条目是选择:如果存在两个选择,则将其视为布尔值...在其他情况下,它们用作选择器价值观。但这似乎很麻烦,如果可靠的话。
欢迎任何想法...
iphone - 将 NSMutableDicitonary 填充到 NSMutableArray 中
我有以下声明:
显示时我得到空值NSMutableArray(dataArray)
。我怎么能解决这个问题?或者,如果可以,请帮助我了解如何NSMutableDicitonary
在表格视图单元格中显示数据。
objective-c - 如何在不使用数组的情况下向 NSMutableDictionary 添加多个键和值?
我知道您可以将所有键添加到数组中并将其添加到字典的一侧,但我很好奇您如何在字典中的某个点添加或插入值。我现在拥有它的方式我相信它只是不断覆盖最后的条目以为新条目腾出空间:
继承人的输出:
2010-01-13 11:08:51.484 assignment_1b[6035:a0f] http://www.apple.com
iphone - 存储和检索多维 NSMutableArrays 的最佳方法是什么?
我将一堆数据存储在一个 .plist 文件中(在应用程序文档文件夹中),它的结构如下:
如果我只是检索它,
NSMutableDictionary *d = [[NSMutableDictionary alloc] initWithContentsOfFile:plistFile]
我将无法替换数字对象,对吗?所以我现在正在遍历数据并形成整个事物的可变版本,它在一个实例中起作用,但现在它告诉我mutating method sent to immutable object
整个事物何时是可变的。
有没有更简单/更好的方法来做到这一点?如果它有所作为,我的数据只是整数和布尔值。
objective-c - 对于 Objective-C 中用于访问 NSMutable 字典的每个循环
我发现在 Objective-C 中访问可变字典键和值有一些困难。
假设我有这个:
我可以设置键和值。现在,我只想访问每个键和值,但我不知道设置的键数。
在 PHP 中这很简单,如下所示:
在 Objective-C 中怎么可能?