我是Swift的新手,正在嘗試學習可選綁定的概念。我已經想出了下面的代碼:無法在可選綁定中使用可選int「possibleNumber」
let possibleNumber = Int("123")
possibleNumber.dynamicType
if let actualNumber = Int(possibleNumber){
print("\(possibleNumber) has an integer value of \(actualNumber)")
} else {
print("\(possibleNumber) could not be converted to an int")
}
Xcode的操場輸出錯誤信息:
然而,當我添加了 「!」到if let actualNumber = Int(possibleNumber!){
let possibleNumber = Int("123")
possibleNumber.dynamicType
if let actualNumber = Int(possibleNumber!){
print("\(possibleNumber) has an integer value of \(actualNumber)")
} else {
print("\(possibleNumber) could not be converted to an int")
}
Xcode中顯示另一條錯誤消息:
initialiser for conditional binding must have Optional type, not int
這究竟是爲什麼?
我正確地說,對於第二個例子來說,如果讓actualNumber = Int(possibleNumber),actualNumber期望是可選類型,但是Int(possibleNumber!)等於非可選int類型,這就是XCode抱怨的原因嗎? – Thor
是的,你說得對。 – vadian