我学习iOS或Swift的时间不长。随着Xcode的最新更新,我在电脑上编写的许多应用程序现在似乎使用了过时的语法。
Xcode告诉我们如何将它转换成新的语法,但通常这并不能解决任何问题,我有一个新的问题。这是我在语法转换后制作的第一个应用程序之一的代码。我得到一个错误说:
可选类型'String '的值?"没有打开;你是想用吗'!'或'?"?
我知道这一定很简单,但我不知道如何解决它。下面是我的代码:
@IBAction func findAge(sender: AnyObject) {
var enteredAge = Int(age.text)
if enteredAge != nil {
var catYears = enteredAge! * 7
resultLabel.text = "Your cat is (catYears) in cat years"
} else {
resultLabel.text = "Please enter a whole number"
}
}
文本标签的text
属性是可选的,您必须在使用它之前展开它。
var enteredAge = Int(age.text!)
更好:
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"
}
我试过了。但它还是说了同样的事情。我现在已经设法把它修好了。我所做的只是改变模拟器显示的设备。如果我把它修好了,那只是侥幸而已。也许是因为我正在制作iOS应用,而iPad需要不同的语法。
感谢您的回复!了解做某事的不同方法也是很有用的。