Звучит так, как будто вы не правильно сохранили вид или выпустили его слишком часто.NSTimer сохраняет свой целевой объект, и как только вы invalidate
таймер, он освобождает свой целевой объект.В вашем случае это, кажется, приводит к тому, что счетчик удержания падает до 0, и поэтому он освобождается.
Вы можете проверить это, добавив NSLog прямо перед вашим [loopTimer invalidate];
и еще один в началепросмотр dealloc
.Держу пари, что вы увидите лог-сообщение dealloc
сразу после вашего invalidate
лога.