Я сталкиваюсь с ситуацией, когда я не могу правильно обрабатывать NSTimer
.Как правильно обрабатывать вызовы NSTimer?
В моем приложении у меня есть опция чатов пользователя (я не использую XMPP из-за проекта с низким бюджетом, но чат работает только через вызовы API). Я запланировал таймер с интервалом в 15 секунд. Если будут доступны какие-либо новые чаты, я получу их и обновлю чат.
Вот рабочий сценарий:
- Как это
UITabbar
основе приложение, пользователь придет на вкладку «Чат». - У пользователя будет список лиц, с которыми он может общаться.
- Пользователь выберет любого пользователя - нажмет на экран чата.
- Если все локально сохраненные чаты будут видны, и вызов API будет выполнен для новых чатов, при успехе (или ошибке) вызова API, таймер будет планировать синхронизацию чатов с интервалом 15 секунд.
- Если пользователь возвращается (поп), в методе
viewDidDisappear:
, я недействителен (работает) таймер.
В моем модульном тестировании, если я буду постоянно нажимать & поп в/из экрана чата, будет установлено несколько экземпляров этого таймера. Я подозреваю, что это НЕПРАВИЛЬНО.
Я не уверен, что я делаю правильно или нет, хотя мне нужна ваша помощь, чтобы понять правильное и правильное решение для моей работы. Думаю, здесь нет необходимости в коде для объяснения выше.
Зачем использовать таймер вообще? Кажется, очень неуклюжим. – Droppy
Если вы тусклый использовать таймеры, нужно, чтобы сохранить то, так что вы можете уничтожить, когда пользователь оставляет вид. – rob180
Вы также можете взглянуть на [это] (https://github.com/search?l=Objective-C&q=parse+chat&ref=searchresults&type=Repositories). – rob180