しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

SwiftのOptional型の初期値

SwiftのOptional型の初期値って省略できたっけ?」と思って確認してみた。

下は大丈夫だった。
optionalにはnilが入っている。

var optional: String?
        
NSLog("\(optional)")

letで宣言するとダメ。
そもそもimmutableなオプショナル型にnilを入れる事はほぼなさそうな気もする。

let optional: String? // これはエラー
   
NSLog("\(optional)")

インスタンス変数も同様でした。
letの場合はinitで値を入れるように怒られます。

class MyClass {
    let optional1: String? // → initで値を入れろと怒られる
    var optional2: String? // → nilが入っている
}