当我试图从可变数组中删除所有对象时,我无法理解我犯了什么错误。我的项目是 ARC 启用我的代码片段
self.arrMonthHas = [[NSMutableArray alloc] init];
if([self.arrMonthHas count ])
[self.arrMonthHas removeAllObjects];
请帮助我解决当前的解决方案。
当我试图从可变数组中删除所有对象时,我无法理解我犯了什么错误。我的项目是 ARC 启用我的代码片段
self.arrMonthHas = [[NSMutableArray alloc] init];
if([self.arrMonthHas count ])
[self.arrMonthHas removeAllObjects];
请帮助我解决当前的解决方案。
从 中删除所有对象后self.arrMonthHas
,请确保self.arrMonthHas
在其他任何地方都没有遇到。因为虽然所有的对象都被删除了,但仍然为相同的对象分配了内存。因此,如果您尝试访问数组的任何元素,它将崩溃。
PS请发布您的错误。
您需要在删除它们之前向数组添加一些对象,您在这里所做的是初始化一个可变数组的新实例并刷新它的内容,这些内容首先不存在于数组中,您可以执行类似的操作
self.arrMontHas = [[NSMutableArray alloc] initWithObjects:firstObject,secondObject,thirdObject,nil];
然后根据您的业务逻辑,您可以删除数组的所有对象
如果(某些商业条件 == 是) { [self.arrMonthHas removeAllObjects]; }
希望这可以帮助