let a: String?
let b: String!
let c: String
a = nil //OK
b = nil //OK
c = nil //NG
println(a) //OK
println(b) //NG nilに対してアンラップしようとして落ちる
上記はどれも意味が別
記号が付いている場合はnil代入可能 !の方はアンラップ不要だがnilに対して操作しようとすると落ちる
let a: String?
let b: String!
let c: String
a = nil //OK
b = nil //OK
c = nil //NG
println(a) //OK
println(b) //NG nilに対してアンラップしようとして落ちる
上記はどれも意味が別
記号が付いている場合はnil代入可能 !の方はアンラップ不要だがnilに対して操作しようとすると落ちる