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