Это не имеет ничего общего с вашими таймерами.Поскольку (я полагаю) все ваши таймеры работают в том же потоке, что и ваш модифицирующий метод, вам не нужно останавливать и запускать их.iOS не использует модель прерываний для обратных вызовов таймера, они должны ждать своей очереди, как и любое другое событие:)
Вы, вероятно, делаете что-то вроде
for (id object in myArray)
if (someCondition)
[myArray removeObject:object];
Вы можете 't редактировать изменяемый массив во время его просмотра, поэтому вам нужно создать временный массив для хранения вещей, которые вы хотите удалить
// Find the things to remove
NSMutableArray *toDelete = [NSMutableArray array];
for (id object in myArray)
if (someCondition)
[toDelete addObject:object];
// Remove them
[myArray removeObjectsInArray:toDelete];