В вашем коде есть несколько проблем, которые стоит упомянуть, хотя я не уверен, что они дадут вам решение.
Почему вы хотите повторять таймер каждые 2 секунды.Я думаю, что вы просто хотите переключиться на следующий вид только один раз, и если это так, то не повторяйте таймер.Поэтому нет необходимости аннулировать таймер.
Ваш код для метода SwitchView
вызывает утечку памяти.Убедитесь, что SecondView
выпущен после представления модального представления (в случае, если вы не используете ARC).
Пожалуйста, следуйте стандартным соглашениям об именах.Например: методы и переменные должны начинаться со строчной буквы.
Относительно вашей проблемы, пожалуйста, убедитесь, что имя пера правильное, и вы получаете действительный объект для второго контроллера представления.Вы можете проверить, используя NSLog
.Также убедитесь, что вызывается метод Switchview.Попробуйте установить точку останова и убедитесь, что она вызывается.
Другой вариант
Если вы просто хотите переключить представление только один раз, вы можете перейти к другому варианту, который делаетне использовать NSTimer.Для этого вы можете использовать performSelector:withObject:afterDelay:
.Это просто еще один вариант для сценария, о котором я говорил выше.