“Value of optional type 'String?' not unwrapped; did you mean to use '!' or '?' ?”

杀马特。学长 韩版系。学妹 提交于 2019-12-04 02:24:22

The text property of a text label is an optional, you have to unwrap it before using it.

var enteredAge = Int(age.text!)

Even better:

if let text = age.text, let enteredAge = Int(text) {
    let catYears = enteredAge * 7
    resultLabel.text = "Your cat is \(catYears) in cat years"
} else {
    resultLabel.text = "Please enter a whole number"
}

I tried that. But it still said the same thing. I have managed to fix it now. All I did was change device the simulator was displaying in. Just by fluke it I have got it working. Maybe it was because I was creating an iOS app and the iPad required different syntax.

Thank you for your reply! It is also ways useful to know different ways to do something.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!