オプショナル型

 

Swiftの独特なオプショナル型についてメモしておきます。

 

確認環境:Xcode 7.3

 

・オプショナル型

Swiftでは、基本的には変数や定数にnilの代入できない。

これを許可する特別なオプショナル型という型が用意されています。

 

オプショナル型を理解するためのコード

しかし、上記のような実装だと、

以下のように、オプショナル型がnilの時に、アプリケーションエラーになってしまいます。

オプショナル型がnilの時に、エラーとならないように実装する方法 その1

??演算子で、初期値を設定する

オプショナル型がnilの時に、エラーとならないように実装する方法 その2

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

Swift と Objective-Cの違い

 

ずっとObjective-Cで開発をしてましたが、やっとSwiftデビューしました。

そんな私が、SwiftとObjective-Cって違うなと思ったことをメモしておきます。

 

確認環境:Xcode 7.3

 

・ファイル構成

Objective-CはC、C++と同様にヘッダーファイル(.hファイル)とソースファイル(.cファイル)で構成されますが、

Swiftはヘッダーファイル(.hファイル)とソースファイル(.cファイル)に分かれていません。

(.swiftファイル)のみで構成されます。

 

・文末のセミコロン

Objective-Cは文末にセミコロンが必要ですが、

Swiftは文末にセミコロンがなくても良いです。

 

・変数の型宣言

Objective-Cは変数に対して、int とか NSString とか NSMutableArray とか型を明示的に宣言しますが、

Swiftは明示的に宣言しなくても良いです。その場合、コンパイラが適切な型を割り当てます。

もちろん、Swiftは明示的に型を宣言することもできます。

 

・オプショナル型

Swiftでは、基本的には変数や定数にnilの代入できない。

これを許可する特別なオプショナル型という型が用意されている。

 

・repeat-while文

Objective-Cのdo-while文が、

Swiftでは、repeat-while文と記述します。

 

・switch-case文

Objective-Cではswitch-case文のcaseの中にbreakを記述しますが、

Swiftでは、caseの中にbreakの記述をしなくても良い。

 

・デバッグ関数

Objective-CではNSLogでデバッグエリアのアウトプットウィンドウに表示しますが、

Swiftでは、printでデバッグエリアのアウトプットウィンドウに表示します。