2014-09-12 2 views
11

Я просто не могу развернуть else блок. xCode дает мне варианты «Исправить это с помощью!» и «), что, к сожалению, также не устраняет проблему. Я получаю эту ошибку в xCode: Значение необязательного типа 'String?' не разворачивается; вы хотели использовать! или ??Значение необязательного типа String? не разворачивается

@IBAction func buttonTapped(theButton: UIButton) { 
    if answerField.text == "0" { 
     answerField.text = theButton.titleLabel?.text 
    } else { 
     answerField.text = answerField.text + theButton.titleLabel?.text 
    } 

ответ

14

Потому что theButton.titleLabel ?.text он не разворачивается.

Вы можете использовать

answerField.text = answerField.text + (theButton.titleLabel?.text ?? "") 

или

if answerField.text == "0" { 
    answerField.text = theButton.titleLabel?.text 
} else { 
    if let txt = theButton.titleLabel?.text { 
     answerField.text = answerField.text + txt 
    } else { 
     answerField.text = answerField.text 
    } 
} 
+1

Я знаю, что мы не имеем права (своего рода), чтобы сказать спасибо, но СПАСИБО ZuYuan! Работал как шарм !!! :) – Insane

+0

@Insane Добро пожаловать :) – ZYiOS

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