水夫と戯れて

Appleの開発言語Swiftのことを書く。公開されている範囲内で書いています。文章に「?」が含まれているところはよく理解していないところ。

Optional(オプショナル)

目次>

型のあとに?がつく

Stringのあとに?をつけてString? Stringまたはnil という意味 Swiftでは基本的にnilは含まれない。nilが含まれるのを許可する場合は?をつける

オプション型を非オプション型にする

オプション型を非オプション型にすることをアンラップ(Unwrap)するという

オプショナルバインディング

if letを使う

アンラップと同時にテストする場合は if let index = xxxxxXxxxx() { print } として変数に入れてやる




オプショナルチェーン

オプション型を指定した場合、デフォルトの初期化はnilになる。

オプション型からもとの形にアンラップする

ImplicitlyUnwrappedOptional 自動的にOptionalをUnwrapする

非オプショナルタイプ

nilであってはいけない。 var myString: String = "文字列" var theObject: MyClass = MyClass()

下記のようにしてはいけない。コンパイルエラーが発生 var myString: String = nil var theObject: MyClass = nil

オプショナルリターンタイプ

返り値がnilであっても良い

func function002() -> Int?{
        
        return nil
    }