Я запускаю NSRunLoop
с помощью NSTimer
на пользовательской ячейке, чтобы постоянно обновлять «Действительный до» UILabel
. Он отлично работает, пока я не закрываю tableView, NSRunLoop
продолжает отсчет времени. Я использую dealloc
, но кажется, что он не сбрасывает NSRunLoop
и NSTimer
.iOS: NSRunLoop на пользовательской ячейке
-(void)dealloc {
[[NSNotificationCenter defaultCenter]removeObserver:self];
[_timer invalidate];
CFRunLoopStop(CFRunLoopGetCurrent());
_runner = nil; // NSRunLoop
}
Как я могу убить NSRunLoop
, когда клетка освобождается? Заранее спасибо.
Я не стал бы _dare_ использовать NSRunLoop таким образом. Вы просто просите о неприятностях. – gnasher729
Мое голосование за это заявление. – NCFUSN