Swift実践入門
スポンサーリンク

変数・定数についてはすでに基本的なことは学習済みですが、新たな気づきがあったらココに記録しておきます。

 

型の確認にはtype(of:)関数が使える

この関数を使わなくても変数を選択して[help]→[Show Quick Help For Selected Item]からも確認可。

また、「オプションキー」+「コマンドキー」+「2キー」で常に右ペインにQuick Helpを表示できる。

 

明示的な型変換

比較演算子(==/!=/</>など)や算術演算子(+/-/*など)は数値の型が一致するときのみ利用できるが、型が違っても明示的な型変換を行えば使える

 

複数行の文字数リテラル

複数行にまたがる文字列は、「"""」で囲む。

 

String型とCharacter型の結合

append(_:)メソッドで可能。

 

辞書の要素の削除

任意の要素にnilを代入。

 

辞書(Dictionary<Key,Value>型)のValue型には配列を入れることもできる

 

 

配列の要素の更新/追加/結合/削除

 

 

範囲型(Range)とは

Rangeとは、主に値の下限と上限の範囲を指定する閉区間「下限…上限」と、不等式を用いて評価を行う開区間「下限..<上限」を指定し、値の評価を行います。

 

「...演算子」(閉区間)

containsメソッドで指定した数値が範囲内かどうか確認できる。

 

 

..<演算子(開区間)

30は含まれない。

 

Optional<Wrapped型>

値があるか、空かのいずれかを返す型。nilを許容する必要がある場合に使用する。Optional型は「Int?」と表記できる。

値の取り出し方

Optional<Wrapped型>の値に対する操作を行うには、値を取り出す必要があります。これをアンラップといいます。

3種のアンラップ

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

if-let文を使って値を取り出します。右辺にOptional型の値が置かれ、値がある場合には左辺の定数に代入されます。

if-let文は値の有無に応じて分岐を行い、値が存在する場合には値の取り出しも同時に行います。

値があるときは{}内の処理を実行し、nilならスキップします。

nilの場合に実行したい処理があれば、else節を追加しましょう。

 

・??演算子

Optional型に値が存在しない場合のデフォルト値を指定できる演算子。

「??」は左辺にOptional型の値を、右辺にWrapped型の値を取ります。

左辺のOptional型に値が存在すればアンラップしたWrapped型の値を返し、存在しなければ(nilなら)右辺のWrapped型の値を返します。

つまり、左辺に値がない場合は右辺の値がデフォルトになるということです

 

 

・強制アンラップ(!)

!演算子を使いOptional型からWrapped型の値を取り出す。

書式
変数名!
 

オプショナルチェイン

アンラップを伴わずにWrapped型のプロパティやメソッドにアクセスする方法。

書式
【Optional<Wrapped型の式】?.【プロパティ名等】

オプショナルチェーンを通してアクセスされたプロパティやメソッドは、Optional型の値を返します。

Optional型の値がnilだった場合はプロパティやメソッドへのアクセスは行われず、nilが返されます。

 

暗黙的アンラップ

Optional型には「Wrapped?」とも表記できました。(糖衣構文)

同じように「Wrapped!」とも表記できます。これを暗黙的アンラップといいます。

これによって生成された値はアクセス時に自動的に強制アンラップされます。

「Wrapped?」も「Wrapped!」も同じOptional型なので互いに値を代入できます。

書式
var 変数名: 型名! = 初期値
暗黙的にアンラップされたOptional型はWrapped型と同様に扱えるが、nilであった場合はエラーになります。
暗黙的アンラップを使うとコードがシンプルになるが、エラーになることもあるため乱用はダメです。

値の存在が明らか、または値が無ければプログラムを終了させたい時に使いましょう。

 

型のキャスト

変数や定数の型をより汎用的に扱えるようにすること。Any型の変数をInt型として扱ったりできる。

型の判定

ある値の型が特定の型か調べるには中置演算子「is」を使う。

左辺に検証対象の式、右辺に検証したい型を取ります。

 

アップキャスト

階層の下位を上位の型として扱う操作。中置演算子「as」を使用。

しかし、アップキャストは常に成功するため暗黙的に行える。asも省略可。

 

ダウンキャスト

階層の上位となる型を下位の型として扱う操作。失敗することもあります。

as?中置演算子

左辺の値を右辺の型へダウンキャストします。

ダウンキャストできたらOptional型を返し、できなかったらnilが返ります。

 

強制キャスト(中置演算子as!)

左辺の値を右辺の型へダウンキャストし 、失敗時は実行時エラーとなります。(成功した場合しかプログラムの実行を継続できない)

結果はWrapped型が返ります。

as?の方が安全だが、as!の方が簡単。基本的にはas?を使い、明らかに失敗しない時などにはas!を使おう。

用語まとめ

糖衣構文(=シンタックスシガー)

複雑でわかりにくい書き方と全く同じ意味になるよりシンプルでわかりやすい書き方で書くこと。

 

2次元配列

配列を要素にもつ配列のこと。

 

初期化

変数や定数への最初の代入を初期化という。

 

論理演算子

真理値(true, false)に対する演算。Bool型には否定(前置演算子!)、論理積(中間演算子&& かつ)、論理和(中間演算子|| または)の3つの論理演算子があります。

Swift(iOS)が学べるオンラインスクール ランキング
CodeCamp
CodeCamp
7〜24時まで授業可能で働きながらでも学べる!!
料金
講師の質
コースの種類
転職サポート
ポイント1エンジニア経験2年以上のベテラン講師によるオンライン授業
講師は全員が現役のエンジニアで、他のスクールによく見られるアルバイト講師ではありません。マンツーマン指導で自分のレベルにあったカリキュラムが組め、満足度も高いです。また、自社開発企業への転職指導にも定評があります。

ポイント2無料レッスン体験&無料受講相談で事前に話が聞ける
事前にレッスンを体験して授業の雰囲気や学習ペースを確認できます。またエンジニア転職を目指す方にはどのコースが向いているかなどが聞けるカウンセリング(受講相談)も無料。エンジニアの生の声が聞けるので自分が働き出した時のことをイメージできます。

TechAcademy

授業型ではなく自習型なので自分のペースで学べる
料金
講師の質
コースの種類
転職サポート
ポイント1自習スタイルでチャット質問は何回でも無料
自分の分からないところを質問するスタイルなのでわかるところはサクッと、わからないところはじっくりと、無駄なく学べます。チャットの質問が無料なので、料金を気にせず何回でも聞けます。また、メンターがつくのでカウンセリングで学習の進捗やモチベーションの管理もしてくれます。
ポイント21週間の無料体験と無料カウンセリング、安心の返金制度も
無料体験の期間は1週間もあり、納得してから契約できるので安心です。事前の無料カウンセリングでは、その人にあったアドバイス等をもらうことができるので気軽に活用しよう。転職保障コースの場合、転職できなかったら全額返金!!
侍エンジニア塾
プログラミングスクールの老舗NO.1
料金
講師の質
コースの種類
転職サポート
ポイント1歴史があるからノウハウも豊富
日本で初めてオンラインのマンツーマンレッスン指導を導入した実績十分のスクール。講師も現役エンジニアでメンタリングもあるため転職のサポートも手厚く、面接対策や自己PRのフィードバックまで対応してくれます。

ポイント2転職成功率94.1%、挫折率8%
コースによっては転職成功で受講料が0円に!!  絶対にエンジニアになりたいという意思があれば超低額で転職できます。事前の無料体験で相談も可能なため、まずは話だけ聞いてみるのもあり。

おすすめの記事