2013-06-17 2 views
2

Я создаю контроллер вида с представлением. Представление называется timerView и содержит таймерLabel. Каждые секунды этикеток обновляется NSTimer. Его работа прекрасна.Статический просмотр для каждого контроллера просмотра в iOS

Но я хочу, чтобы всякий раз, когда появляется какой-либо другой контроллер вида, на нем должно быть доступно timerView, и оно также должно регулярно обновляться с помощью NSTimer.

У меня есть решение создать timerView, timerLabel и NSTimer для каждого контроллера вида. Затем я должен обновить его с помощью значения таймера последнего времени просмотра. Но это невозможно.

Как создать только один вид и использовать его на каждом контроллере с регулярным обновлением за одну секунду.

Любое предложение будет оценено по достоинству.

+0

почему вы не создать это в AppDelegate и использовать этот вид, используя объект AppDelegate в everyView ..? –

+1

это может быть полезно вам http://stackoverflow.com/q/10181013/1030951 – HarshIT

+0

@HarshIT да за это полезное сообщение – MouseCrasher

ответ

2

Я просто хочу создать только один вид и хочу использовать его на каждом контроллере с регулярным обновлением за одну секунду.

Почему? Вместо того, чтобы использовать один просмотр таймера, создайте столько, сколько хотите, и используйте один таймер для их управления. Удаление таймера с одного вида, когда оно исчезает, и добавление его к другому, которое вот-вот появится, возможно, но я не думаю, что это действительно принесет вам что-нибудь полезное.

Если текущее истекшее или оставшееся время важно для всего приложения, у вас должен быть один источник для этой информации. То есть, у вас должен быть один таймер и использовать его для управления любыми показаниями таймера. Простым способом сделать это было бы то, чтобы действие таймера вывело уведомление, и все виды таймера, которые видны, прослушивают это уведомление. Это минимизирует связь между таймером и любыми видами таймера - таймер не должен знать о представлениях таймера, а просмотрам таймера не нужно напрямую обращаться к таймеру.

Убедитесь, что начало просмотра таймера прослушивает уведомление, когда оно появляется (чтобы начать обновление), и прекратите слушать, когда они исчезнут (потому что им не нужно обновлять, если они не видны).

Смежные вопросы