Подтвердить что ты не робот

Как получить название ярлыка от Button?

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

 @IBAction func ButtonTapped(TheButton : UIButton){

    println(TheButton.titleLabel.text)
}

Но он показывает мне ошибку, как "UILabel? Does not have a member a named text"

и мне нужно изменить код, подобный этому

println(TheButton.titleLabel?.text)

Эта печать Optional("1") (1 - имя моей кнопки)

Итак, кто-нибудь может мне помочь, почему это случилось со мной и как я могу напечатать имя своей кнопки без опции?

4b9b3361

Ответ 1

Если вы уверены, что titleLabel не nil:

println(TheButton.titleLabel!.text)

else

if let text = TheButton.titleLabel?.text {
    println(text)
}

Ответ 2

Проще говоря, вы могли бы просто сделать:

let titleValueString = TheButton.currentTitle!

Если заголовок кнопки не равен нулю, восклицательный знак (!) будет неявно разворачивать необязательный (currentTitle без восклицательного знака), и у вас будет строковое значение для названия кнопки в вашей константе, titleValueString

Ответ 3

Верхний ответ больше не работает. Вот скорректированная версия для Swift 2.2:

Если вы уверены, что titleLabel не ноль:

print(TheButton.titleLabel!.text!)

Если вы не:

if let text = TheButton.titleLabel?.text {
    print(text)
}