【发布时间】:2013-03-21 00:46:04
【问题描述】:
我正在使用-insertObject:atIndex: 将名为DecryptedItem 的自定义类的一些实例添加到NSMutableArray。 DecryptedItem 实现了自己的 -hash 和 -isEqual: 方法,但据我所知,这与将对象添加到数组时无关。
在索引 0 处插入一个对象后,在索引 0 处插入另一个对象,在索引 1 处插入另一个对象后,我得到以下非常奇怪的行为:该数组在调试窗口中显示为 3 个元素的数组,并调用 @987654328数组上的 @ 表明它包含三个不同的对象。但是,在调试器中查看数组会发现一个对象为零!我在使用 -indexOfObject:inSortedRange:options:usingComparator: 搜索特定对象时注意到了这一点,它返回了 NSNotFound。
【问题讨论】:
-
您是如何使用将数据存储在 NSMutableArray 中的?代码?
-
插入 nil 应该在插入期间使应用程序崩溃,除非您从当对象为 nil 时返回 NSNull 对象的方法中获取此数据。例如从 json 字符串解析的对象。
-
请出示代码。
-
这可能只是调试器不知何故弄糊涂了。如果描述方法显示所有三个对象,它们都在里面。
标签: iphone objective-c ipad nsmutablearray