平々凡々エンジニア

平凡で難しい悩みを解決

swift nil

nilとOptional

swiftではオプショナル型というものがありnilを許容するかどうかを決めることができる、宣言するときは型の後ろに?をつける。

var hoge:String? = nil   //OK
var hoge = nil           //error
var hoge:String = nil   // error

if let

nilの判定にはよく以下のように記載して判断する

let hoge = UIView()

if let hogehoge = hoge { // if let hoge = hogeでも可
  self.addSubView(hogehoge) //OK
}

if hoge != nil {
    self.addSubView(hoge!) //OK
}

これは変数の宣言と同時にnilチェックをすることができめちゃくちゃ便利。

余談

最近の言語はnilを許容しないようにする方針がとられてて良いですね。
今私はphpの仕事を行っているのですが、nilのことを年がら年中考えないといけないような感じで非常にストレスを感じました。