Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c NSMutableArray未响应removeObjectAtIndex:_Objective C_Nsmutablearray - Fatal编程技术网

Objective c NSMutableArray未响应removeObjectAtIndex:

Objective c NSMutableArray未响应removeObjectAtIndex:,objective-c,nsmutablearray,Objective C,Nsmutablearray,我想我已经陷入了一种困惑的状态,我在做一些根本错误的事情,但我无法理解这是什么和为什么发生的 图1:我的类的一个属性。可变数组 图2:我想要执行的代码块,我想要删除第十一个对象 图3:调试控制台显示我的数组中有30个对象 现在,我在这里,认为这将是一项简单的任务。此后,我在源代码中删除并替换了其他NSMutableArray中索引处的对象。 图4: 我相信这告诉我NSMutableArray不响应removeObjectAtIndex 有人知道我到底做错了什么吗?我完全糊涂了 不,这不是家庭作

我想我已经陷入了一种困惑的状态,我在做一些根本错误的事情,但我无法理解这是什么和为什么发生的

图1:我的类的一个属性。可变数组

图2:我想要执行的代码块,我想要删除第十一个对象

图3:调试控制台显示我的数组中有30个对象

现在,我在这里,认为这将是一项简单的任务。此后,我在源代码中删除并替换了其他NSMutableArray中索引处的对象。 图4:

我相信这告诉我NSMutableArray不响应removeObjectAtIndex

有人知道我到底做错了什么吗?我完全糊涂了

不,这不是家庭作业……即使你可以相信。我知道

编辑: 分析进入数组的对象时出错

我做的不是[temperiod.dagArray addObject:object],而是完全不同的事情

我使用的是另一个数组并向该数组添加了对象,当解析器完成时,我使用了temperiod.dagArray=[theOtherArray copy],这导致了此错误。另一个数组仍然是一个NSMUTABLE数组,这仍然让我感到困惑。但我最好的猜测是,copy使用NSMutableArray做了一些事情,使得它无法执行这些选择器。但我可能完全错了

谢谢你给我带来了一些想法

实际上它说NSArray不响应removeObjectAtIndex。这是真的。 可能是您将其定义为NSMutableArray,但以错误的方式初始化了它吗? 在哪里初始化数组,当前数组是否可能实际上是NSArray

因为:

NSMutableArray *anArray = [[NSArray alloc] initWithObject:anObject];
是可能的,但是当您选择错误的选择器时会导致运行时错误。

实际上它说NSArray不响应removeObjectAtIndex。这是真的。 可能是您将其定义为NSMutableArray,但以错误的方式初始化了它吗? 在哪里初始化数组,当前数组是否可能实际上是NSArray

因为:

NSMutableArray *anArray = [[NSArray alloc] initWithObject:anObject];

是可能的,但在选择错误的选择器时会导致运行时错误。

如果需要数组的可变副本,则需要使用-mutableCopy。即使在可变数组上使用-copy,也会得到一个不可变数组。

如果需要数组的可变副本,则需要使用-mutableCopy。使用-copy,即使是在可变数组上,也会得到一个不可变数组。

在哪里添加这30个对象?看起来您的实例NSArray具有NSMUTABLEARRY属性,或者DAGARRARY只是指向NSArray的指针。然后,您询问NSMutableArray的属性,它将转到NSArray并尝试移除对象。你能用dagArray跳过所有代码吗?你在哪里添加这30个对象?看起来你有一个属性为NSMutableArray的实例NSArray,或者你的dagArray只是一个指向NSArray的指针。然后,您询问NSMutableArray的属性,它将转到NSArray并尝试移除对象。你能用dagArray跳过所有代码吗?我使用的是tempPeriod.dagArray=[otherArray copy],这就是结果。我仍然感到困惑。我使用的是temperiod.dagArray=[otherArray copy],这导致了这种情况。我还是很困惑。谢谢,这解释了一切。谢谢!这是非常有用的!谢谢,这就解释了一切。谢谢!这是非常有用的!