问题标签 [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 - NSXMLParser 和内存管理问题
我一直在尝试实现 NSXMLParser,但到目前为止我遇到了内存问题、性能问题或者它不起作用。
我最初是从网上的一个例子开始工作的,它泄露了一堆内存。我正确释放了对象,但发现性能受到影响,因为我会为每个元素分配然后释放每个对象。所以后来我决定使用效果更好的属性,但是当我尝试将字典添加到数组时它并没有坚持:
所以我有3个问题。属性是处理内存管理问题的最佳方法吗?如果是这样,为什么我不能将 NSDictionary *entry 存储到覆盖中?如果属性不是最好的方法是什么?
干杯
编辑:我正在处理相对较小的 xml 文件,但它们有很多元素。我已经从 URL 下载了它们并将数据放入 SQLite 数据库。
没有使用其他委托调用,因为唯一的数据在属性中。最后的 NSLog 只返回 null。
objective-c - NSMutableDictionary 的内存泄漏
困惑为什么这行代码会导致内存泄漏:
非常感谢任何有关修复的建议!
问候,乙
iphone - Objective-C:向 NSMutableDictionary 添加一个观察者,当计数达到 0 时收到通知
我想在 NSMutableDictionary 的计数达到 0 时收到通知。如果不扩展 NSMutableDictionary(我听说你不应该这样做),这是否可能?
例如,我是否可以通过在检查计数是否为 0 时调用原始方法来模仿删除方法?或者有没有更简单的方法。我尝试了KVO,但没有奏效......
任何帮助表示赞赏。
约瑟夫
objective-c - 对所有模型 iVar 使用一个设置器
我有一系列适用于我的应用程序的模型。在所有这些模型中,有(将有)大约 200 或 300 个实例变量。该应用程序将其持久数据存储在基于 Web 的服务器上(MySQL - 但我想这部分无关紧要)。每当更新模型 iVar 时,我都需要调用服务器以更新该 iVar 的适当值。
我当前的模型策略是(头文件):
(实现文件):
问题是,如果我有 200 或 300 个 iVar 都需要对服务器进行相同的更新调用,这意味着要编写很多setter。此外,如果我需要更改方法调用,我必须更新整个应用程序中每个 setter 中的每个方法。
在设置之前,是否有一个过程可以让我首先通过一种方法运行每组 iVar?
我想只有一个NSMutableDictionary
每个模型对象来存储所有 iVar,但这抽象了 setter 和 getter,并且可能会为这么多字典引入很大的内存占用。但是,这样做意味着每次设置字典时,我都可以通过一种方法传递它。
据我了解,在运行时将 iVar 动态添加到对象模型被认为是一件坏事,因为指针引用了可能依赖于模型的任何子类(子类指针不会偏移,除非完成完全重新编译)。
任何想法和建议都非常感谢。
更新
根据 Ole 的建议,这里是解决方案(尽管不幸的是,它使用的代码比几行多一点)......
在模型中,我添加了一个可以在需要时设置的方法。我没有直接从 init 调用该方法,因为添加从服务器返回的一大堆结果会触发每个添加对象的观察者。所以我在初始化并更新了来自服务器的第一个抓取之后调用该方法。
这是代码...
然后我将观察者添加到模型中:
在我的实际实现中,我还碰巧发布了一个对象集的通知,self
以便我可以更新任何应该听但没有注意的东西(比如 中的东西NSArrayControllers
)。
iphone - 如何获得 NSDictionary/NSMutableDictionary 的原始订单?
我用 10 个键创建了 NSMutableDictionary。现在我想以与添加到 NSMutableDictionary 相同的顺序访问 NSMutableDictionary 键(使用 SetValue:* forKey:* );
我怎样才能做到这一点?
objective-c - 查看 NSMutableDictionary 的内容
如何查看内容NSMutableDictionary
?
objective-c - NSMutableDictionary,在 Objective-C 编程中具有单键保存多个值
请告诉我如何在 NSMutableDictionary 中为同一个键设置多个值?
当我使用以下方法时,这些值将被替换为最近的值。
就我而言:
当我查看字典的内容时,我只得到reminderDate
for 键代码。在这里,所有值的代码都是相同的。如何避免名字和姓氏被替换为plannedReminder
.
谢谢你!
iphone - 将数据添加到 NSDictionary... SRSLY?没有更快的方法吗?
我来自 Flash ActionScript 背景。我来自哪里,我可以像这样设置一个类似字典的对象:
所以来到Objective-C,我惊讶地发现与此等价的似乎是:
当然有更简单的方法......或者这真的是我的命运吗?
nsdictionary - 具有容量的 NSMutableDictionary
一旦 NSMutableDictionary 已经达到其对象容量限制,当你尝试添加它时会发生什么?这会撞出一个还是会抛出异常?当我添加一个新的字典对象时,还有什么方法可以让它弹出最旧的字典对象?