问题标签 [nsmutablearray]

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 回答
7500 浏览

iphone - 重置 NSMutableArray

重置 NSMutableArray 的最佳最快方法是什么?

0 投票
3 回答
10335 浏览

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

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

谢谢,

〜G

0 投票
5 回答
792 浏览

iphone - NSM可变数组

我有一个 NSMutableArray:

现在有一种方法 objectAtIndex 返回指定索引处的对象。

我想要做的是,我想首先检查指定索引处的对象是否存在。如果它存在,我想获取该对象。就像是:

但是我在 if 语句中遇到异常,说索引超出界限。

请任何人告诉我如何实现这一目标。

0 投票
4 回答
2905 浏览

iphone - 大xml的NSXMLParser iPhone内存策略

我使用 NSXMLParser 构建了一个解析算法。我怀疑将内存使用量保持在最低限度的最佳策略是什么。

我有一个 valueObject(例如“Person”),这个对象有 ≈ 30 个 NSString 属性,在解析 xml 时,我在遍历节点时不断分配和释放一个临时 Person 对象。我检查了这一点,并且在任何时候都只实例化了这些 Person 对象之一。当一个节点被遍历并且一个人被“构建”时,我将这个人传递给一个 NSMutableArray 并释放这个人。那里似乎没有问题。(我需要一个 tableView 的数组)。当我在数组中达到大约 50 多个 Person 对象时,我的应用程序刚刚退出,didReceiveMemoryWarning 没有被调用,没有其他警告,没有 parseErrorOccurred,什么都没有?

如果我限制 xml 中的人员数量,应用程序就可以正常工作,我无法使用 Instruments 找到任何内存泄漏。我认为我根本无法在一个数组中保存 50+ 个 Person 对象……看起来有点苛刻,但我对 iPhone 没有太多的记忆经验,所以这只是一个猜测。

xml 是用户可能只需要其中几个的搜索结果,因此将它们持久保存到我的核心模型以保持它们显示似乎有点疯狂。

保留这些 Person 对象的好策略是什么?还是我错过了巨大的内存泄漏,因为 iPhone 应该能够处理的远不止这些?

希望一些有经验的开发人员能指出我正确的方向:)

谢谢!

0 投票
3 回答
4147 浏览

objective-c - 将随机生成的 NSStrings 添加到 NSMutableArray 的算法

目标是生成一个长度为 NSString 的字符并将每个字符串分配给一个数组。我被困在我需要用我的算法做什么才能得到正确的结果。这是示例。我得到的结果是将相同的随机生成的字符串添加到我的数组中 26 次,而不是添加了 26 个不同的字符串。

我考虑过声明 26 个不同的 NSString 并将算法中的每个结果分配给每个字符串,但这似乎效率低下。谢谢您的帮助。

0 投票
3 回答
25590 浏览

iphone - UITableView,我如何知道 cellForRowAtIndexPath 期间的哪个部分?

我有一个 UITableView 显示城市列表。我想按状态将它们分开。我似乎无法弄清楚如何让它从我的数组中挑选出正确的项目。如果第 1 节(亚利桑那州)有 2 个城市,第 2 节(加利福尼亚州)有 2 个城市,则在第 2 节的 cellForRowAtIndexPath 期间,城市 1 的索引为 0,即使它是我数组中的第 3 项。我想过把我的城市数组变成一个状态数组,其中每个项目都包含一个城市数组,但我仍然不知道我在哪个部分,因此不知道我会在状态数组下的哪个城市数组需要访问。

0 投票
3 回答
11832 浏览

iphone - NSMutableArray addObject,无法识别的选择器

我正在尝试创建数组(城市)的数组(州)。每当我尝试将一个项目添加到我的 City 数组时,我都会收到此错误:

'NSInvalidArgumentException',原因:'*** +[NSMutableArray addObject:]:无法识别的选择器发送到类 0x303097a0

我的代码如下。它出错的行是

我确定我有一些内存管理问题,因为我仍然不太了解它。希望有人能向我解释我的错误。

0 投票
2 回答
1918 浏览

cocoa - NSMutableArray arrayWithObjects 的问题:

假设我的图像包含 48 个对象,但是当我调试图像时只有 23 个对象。

为什么我的所有图片都没有加载?

0 投票
1 回答
3763 浏览

objective-c - Objective-C,基于对象实例变量对数组进行排序。

我正在开发像 Rodents Revenge 这样的游戏,只是为了指出我从哪里来的这个问题。我也在使用 cocos2d 游戏引擎...

我有一个包含大约 168 个块的层,这些块是 Sprite 的子类。每个块包含两个整数实例变量,一个用于 xGridLocation 和 yGridLocation。我有一个我调用的方法,它返回一个数组,其中包含与您控制的主角(鼠标)位于同一 x 或 y 行的所有块。只要块保持相同的顺序(从最小的 x/y 值到最大),这种方法就可以工作,但是当我开始将块推出其原始行并将它们混合一点(玩游戏时)我的逻辑不更长的工作,因为它基于这样一个事实,即数组中的块根据它们的 xGridLocation 或 yGridLocation 从最小到最大进行索引。xGridLocation 和 yGridLocation 不是基于它们的位置,

我的问题是如何在基于实例变量 xGridLocation 或 yGridLocation 的顺序返回之前对数组进行排序。我正在考虑使用 sortUsingSelector:@selector(compareValues:) 方法,但不确定如何实现将进行排序的 compareValues 方法。

这是我用来获取块数组的方法。

如果您需要更多信息,请询问。

0 投票
2 回答
779 浏览

cocoa - 空选择器发送到 NSMutableArray 中的第一项

每当我调用此方法时:

第一个TodoItem实例list被发送一个空选择器,控制台打印一个错误。addObject它发生了两次,当我多次调用或didChangeValueForKey多次调用时不会发生更多。有什么想法可以阻止这种情况发生吗?

显示的错误消息是:
-[TodoItem <null selector>]: unrecognized selector sent to instance 0x11470b0e0

这是我在方法中设置断点时的堆栈回溯[NSObject(NSObject) doesNotRecognizeSelector]