私はSwiftが初めてで、オプションのバインディングの概念を学ぼうとしています。私は次のコードを思いつきました:
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 プレイグラウンド出力エラー メッセージ:
value of optional type "int?" not unwrapped, did you mean to use "!" or "?"
ただし、「!」を追加すると、に 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
なぜこうなった?