问题标签 [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 投票
1 回答
15601 浏览

objective-c - 在 XCode 中创建一个数组

我正在尝试在 Xcode 中构建一个包含字典对象数组的数组。我可以创建一个包含一个或多个字典的工作数组,然后使用 addObject: 方法将此数组作为对象添加到我的主数组中。我循环了几次,重建工作数组并将对象添加到主数组。到目前为止一切都很好,除了在检查我的主数组时,它包含构建工作数组的最后一个字典的副本。我假设这是因为当我使用 addObject 时,它只是为数组分配一个指针,但不会增加保留计数或创建工作数组的副本,因此每次重建主数组时,它都只是指向这个数组.

我想我的问题是如何创建工作数组的副本,将其添加到主数组,然后重新构建并再次添加?如果这似乎是一个基本问题,希望这是有道理的,很抱歉 - 它是(我是 Xcode 的新手) - 任何帮助都将不胜感激。


这一切都有效,这很棒。我还没有想到的一件事是,当我完成主数组并且我也执行 [mainArray 释放] 时,是否存在危险,这些子数组将留在内存中或释放会破坏他们也是?


我已经通过重新初始化内部工作数组而不是仅仅删除所有对象来解决它,即

我确实有:

并将其更改为:

虽然我有一种感觉,但这不是一件好事,我会开始到处泄漏内存。

0 投票
3 回答
13747 浏览

objective-c - 如何将 NSArray 分成两个相等的部分?

我有一个 NSArray,我想将它分成两个相等的部分(如果奇数“计数”然后添加到后一个新数组) - 我想将它拆分为“中间”可以这么说。

以下代码完全符合我的要求,但有更好的方法吗?:

一旦 leftArray 和 rightArray 制作完成,我不会更改它们,因此它们不需要是“可变的”。我认为可能有一种方法可以使用 ObjectsAtIndexes 方法或一些快速枚举方法来完成上述代码?但我无法让以下代码工作(或其他变体):

有谁知道我是否朝着正确的方向前进或指出我正确的方向?

谢谢!

0 投票
9 回答
202713 浏览

objective-c - 如何将 NSMutableArray 转换为 NSArray?

如何在中将 NSMutableArray 转换为 NSArray ?

0 投票
2 回答
728 浏览

objective-c - 访问可变数组值

我在 appdelegate 中创建了一个可变数组。我正在尝试在另一个应用程序中检索该可变数组的值。但它在这一点上崩溃了。下面是我在 appdelegate 中声明的代码:

下面是我试图通过 appdelegate 访问另一个应用程序中的数组值的代码:

但它正在崩溃:

NSInteger selection = [[appDelegate.savedLocation objectAtIndex:0] integerValue];

请告诉我它崩溃的原因以及这样做的正确方法。

0 投票
8 回答
14518 浏览

objective-c - Objective C:如何检查变量是 NSArray 还是 NSMutableArray

如何检查变量是 NSArray 还是 NSMutableArray?

0 投票
2 回答
879 浏览

iphone - 如何用 NSMutableArray 中的奇数和偶数条目填充一个 UItableViewCell?

我有一个带有 UITableViewCellSTyleValue1 的 uitableview,所以我有一个文本标签和一个详细文本标签。

我得到的第二件事是 NSMutableArray。现在我想用偶数项填充 textLabels,用奇数项填充 detailTextlabels。

因此,例如单元格一(零)获取条目 0 和 1 单元格一获取 2 和 3,依此类推。

直到现在我才让它工作。

0 投票
1 回答
746 浏览

iphone - 从使用 NSKeyedArchiver 存储的 NSMutableArray 中的 NSDictionary 读取字符串时出现问题

我正在使用一系列 NSDictionaries 保存一些数据,这些数据存储在 NSMutableArray 中并使用 NSKeyedArchiver 存档。

我基本上是在尝试将几个实例的状态保存为“Brick”类,所以我实现了一个像这样的 getBlueprint 方法(精简版)

所以我有另一种方法,可以在提供蓝图时创建一个新的 Brick 实例。

当我将“新”蓝图传递给它时,它会起作用,但当我从保存的文件中读取蓝图时则不起作用......有点。例如,旋转会起作用,但改变颜色不会。所以虽然我可以使用

如果我尝试类似

而且我知道颜色是紫色,条件不会返回 true。我认为可能是 NSKeyedUnarchiver 以某种方式将字符串更改为其他内容,但以下测试返回 true。

正如我所说,如果我尝试使用新创建的 NSDictionary 作为蓝图,这不是问题,只有当蓝图被存档然后重新读入时。

所以,像往常一样,我想知道是否有人知道为什么会发生这种情况。

如果它是相关的,这里是数据的存储和接收方式。

对不起一个问题的混乱。发生了很多事情,我正在努力完全了解自己,因此很难将其分解到最低限度。

0 投票
5 回答
3228 浏览

iphone - 访问 NSMutableArray 到没有值的索引

如果我尝试使用 objectAtIndex:x 访问 nsmutableArray 并且如果我在此索引处没有对象,我的应用程序总是会崩溃。

所以我的问题是:我怎样才能检查这个索引是否有东西,而不会使应用程序崩溃?

我希望你能理解我的问题。谢谢,亚历克斯

0 投票
2 回答
67340 浏览

objective-c - NSMutableArray addObject 不起作用

NSMutableArray *categories在我的视图控制器.h 文件中声明了一个,并为它声明了一个属性。

在我的 .m 文件parser:foundCharacters:中的委托方法中NSXMLParser,我有以下代码:

但是当我在调试模式下将鼠标悬停在这[self.categories addObject:element]条线上时,XCode 告诉我大小是 0x0, 0 个对象。我的 XML 文件中有 3 个元素,因此数组中应该有 3 个项目。

我错过了一些非常明显的东西,我不知道是什么。

0 投票
2 回答
610 浏览

iphone - 如何创建数组字符串

我有包含学生信息的 NSMutableArray,现在我只想提取学生姓名和他们的平均分数,所以我做了什么

我可以第一次运行它,但是当我进行自动扫描时,我可以执行第一个、第二个、第三个循环,但是应用程序终止显示如下,

2009-12-02 14:57:37.908 AppBuzz[13073:207] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“* -[NSCFArray insertObject:atIndex:]: 尝试插入 nil”2009-12-02 14:57:37.916 AppBuzz [13073:207]堆栈:(820145437,837578260,819694387,819694291,814683071,814716415,814716245,17529,24097,814480795,819893443,819891231,858682228,861592624,861585968,8997,8860)终止称为抛出“NSException”实例后,程序收到信号:“SIGABRT”。

如何改进

谢谢