- nilを許可する場合はOptional型として "?"をつける
- 使用するときはアンラップ < "!"で強制アンラップ
let unlap = optionalString!
- オプショナルバインディングで安全にアンラップ
if let opt = optionalString { // オプショナルバインディングでfalse
print("アンラップしました -> " + opt)
}
// optionalとは??
var nonOptionalString:String = "hello" // optionalじゃなくString型
print(nonOptionalString)
nonOptionalString = "hoge"
print(nonOptionalString)
// nonOptionalString = nil // ここでエラー "nil cannot be assigned to type 'String'
// print(nonOptionalString) // nilを入れることが出来ない為
// optional型で宣言
var optionalString:String? = "hello" // ?をつけるとOptional型になる
print(optionalString) // Optinal("hello")と表示される
optionalString = nil // nil代入もOK
print(optionalString) // "nil"と表示される
if let opt = optionalString { // オプショナルバインディングでfalse
print("アンラップしました -> " + opt)
} else {
print("nilが入っている") // こっちが表示される
}
optionalString = "hoge"
if let opt = optionalString { // オプショナルバインディングでアンラップ
print("アンラップしました -> " + opt) // アンラップされたこっちが表示される
} else {
print("nilが入っている")
}
0 件のコメント:
コメントを投稿