У меня были проблемы с памятью (приложение будет работать в течение нескольких итераций, затем получит предупреждение о нехватке памяти и, наконец, будет остановлено) во время работы с NSInvocationOperation в методе, неоднократно вызываемом NSTimer.
Метод будет вызываться каждые 1/4 секунды, и я сузил источник проблемы до следующих тестовых строк:
-(void)methodCalledByTimer {
NSInvocationOperation *o = [NSInvocationOperation alloc];
[o release];
}
Раскомментирование этих двух строк (для создания пустого метода) предотвратит проблемы с памятью. Как только они появятся, использование памяти будет довольно быстро увеличиваться, и, наконец, приложение будет остановлено.
Кто-нибудь может объяснить, что я здесь делаю не так? Нужно ли делать что-то еще, чтобы убедиться, что объект NSInvocationOperation будет правильно освобожден?
Большое спасибо в avance за помощь.
С уважением,
Майкл.