У меня есть подкласса UIView, который не освобождается. Я знаю, что только один класс создает экземпляр моего представления. На мой взгляд, у меня есть NSTimer ivar. Если я прокомментирую этот таймер и когда я нажимаю кнопку отмены, которая находится на этом контроллере представления, вызывается dealloc в этом представлении. Если я не закомментирую таймер, dealloc никогда не вызывается.Подкласс UIView не освобождается
//CustomUIView
- (id) initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
_pollTimer = [[NSTimer scheduleTimerWithTimeInterval:0.2 target:self selector:@selector(onPollTimerFired:) userInfo:nil repeats:YES] retain];
}
}
Я хочу сохранить ссылку на этот таймер, потому что есть моменты, когда я хочу приостановить таймер. Теперь у меня может быть свойство на моем представлении для таймера и в методе dealloc класса, который имеет ссылку на мой пользовательский uiview, я мог бы аннулировать его перед выпуском указанного представления. Мне не нравится этот подход, потому что я не хочу показывать этот таймер внешним объектам.
У кого-нибудь есть идеи?
NSTimer сохраняет свою цель ... – fbernardo