我遇到了一个错误,当其他对象被添加到NSMutableArray的其他地方时,您试图从NSMutableArray中删除对象.为了简单起见,我不知道如何修复它.以下是我正在做的:
我有4个定时器调用4个不同的方法,将一个对象添加到同一个数组中.现在,当我按下某个按钮时,我需要删除数组中的所有对象(或至少部分对象).所以我试着先让所有4个计时器失效,然后用数组做我想做的工作,然后启动计时器.我以为这会奏效,因为我不再使用计时器来枚举数组,但似乎它不起作用.
有什么建议吗?
我遇到了一个错误,当其他对象被添加到NSMutableArray的其他地方时,您试图从NSMutableArray中删除对象.为了简单起见,我不知道如何修复它.以下是我正在做的:
我有4个定时器调用4个不同的方法,将一个对象添加到同一个数组中.现在,当我按下某个按钮时,我需要删除数组中的所有对象(或至少部分对象).所以我试着先让所有4个计时器失效,然后用数组做我想做的工作,然后启动计时器.我以为这会奏效,因为我不再使用计时器来枚举数组,但似乎它不起作用.
有什么建议吗?
这与你的计时器无关.因为(我假设)你的定时器和你的修改方法在同一个线程上工作,你不需要停止和启动它们.iOS不使用中断模式进行计时器回调,它们必须像任何其他事件一样等待轮到它们:)
你可能在做类似的事情
for (id object in myArray)
if (someCondition)
[myArray removeObject:object];
在处理可变数组时,不能编辑它,因此需要创建一个临时数组来保存要删除的内容
// Find the things to remove
NSMutableArray *toDelete = [NSMutableArray array];
for (id object in myArray)
if (someCondition)
[toDelete addObject:object];
// Remove them
[myArray removeObjectsInArray:toDelete];