2015-06-15 4 views
1

Я создал класс таймера в swift, и когда пользователь нажимает кнопку, я перехожу к другому представлению и передаю данные между двумя видами. Класс времени использует 3 отдельные метки для часа, минуты и секунды, однако я бы хотел передать все 3 в одной переменной.Доступ к тексту ярлыка в Swift

Мой вопрос: как мне получить доступ к тексту внутри метки. Если я использую "\(hourLabel.text)" (например), я получаю сообщение "Optional(00)".

+0

Вы пробовали разворачивания Факультативный? 'if let myLabel = hourLabel.text {do_something_with_mylabel}' – Ron

+0

Не могли бы вы опубликовать весь код (весь контроллер View), чтобы мы могли лучше помочь вам –

ответ

-1

Используйте это ...

if hourLabel.text != "" { 
println("\(hourLabel.text!)") 
} 
+0

Это сработает, если текст был ноль ... – Kametrixom

+0

Нет такого вещь как текст, но только пустой текст, подобный этому ». –

0

Если вы пытаетесь получить доступ к объектам просмотра другого контроллера представления (в UILabel, к примеру) не делает этого. Он нарушает принцип инкапсуляции, а также часто не работает.

Если попытаться оценить hourLabel.text где hourLabel является выход в текущем контроллере представления, ссылка на выходе, вероятно, сломана (и ноль.)

сообщение фактический код, который вы пытаетесь использовать.

+0

Нет. Я не пытаюсь получить доступ к UILabel как таковой. Я хочу передать значение с одного контроллера представления на другой. Таймер, например, обновляется каждую секунду, и когда пользователь нажимает кнопку остановки, я хочу передать значение в следующее представление. Я делаю это через prepareForSegue. – puks1978

+0

Опубликуйте свой фактический код. –

-1

Почему бы вам не попробовать это ...

if(!hourText.text){ 
// Do something... 
} 
Смежные вопросы