キャンペーンの今のうちに是非!!↓


⇒「ひろゆきの名著『1%の努力』を無料で全部読む方法

【Swift奮闘記ep44】はじめに知っておきたいSwiftの流儀

IPhoneアプリ作成Swift奮闘記

前回⇒「【Swift奮闘記ep43】2冊目突入、基礎編から順番にやっていく。Xcodeの使い方に慣れておこう。

2冊目はこちら

2冊目の唯一の基本的な文法部分(といっても難しめ)で「はじめに知っておきたいSwiftの流儀」に入っていく。

Swiftの作法を知っておくとその後の成長に差がつく

この章では「Swiftの流儀」といってポイントのようなものが37個紹介されている。

変数とは何ぞやという話から、Delegate、protocol、extensionという難しそうな言葉まで、より取り見取り。

初心者ではわからない部分があるけど、俺なりに大事そうな部分をまとめてみた。(メモ程度)

ソースコードは綺麗に!

ソースコードを綺麗に書いたからと言って、実行速度が大幅に変わるとか処理内容が変わるといったことはない。

しかし、後から見直すときとかエラー原因箇所を探すときとかにソースコードが整っていると見やすいよねって話。

キャメルケースで変数定数をかく、スペースの使い方、インデントの使い方、条件式で否定は使わない、共通化(関数化)、セミコロンの省略、ifの()の省略。

工夫する方法はたくさんあるので、初めのうちから意識するだけで違うと思う。

Swiftの基本的な言語機能について知っておく

Xcodeを使う際、メソッド名にカーソルを合わせてCommandキーを押しながらクリックすると、メソッドの定義部分へ飛ぶ。

そのメソッドについて色々調べることができるので、上達したい人は経験値アップのために読んでみることをお勧めする、との事。

ライブラリを確認

何らかの機能を使いたいときに、ライブラリを確認する事。

これはつまり今自分が作ろうとしているアプリに「マップでGPS情報を導入してみたい!」って思ったとしよう。

そんなときに一からマップを使うソースコードを書き始めたりしたらキリがない。一生時間があっても足りない。

マップを使う際には、ちゃんとMapKitみたいなMap使う人用の道具みたいなものが、用意されている(しかもApple純正)。

大幅な時間の短縮になるし、使わなきゃかなり損なので、どんな機能のライブラリがあるかどうか押さえておくといいでしょう。

条件が3つ以上分岐する場合はSwitchを使う

Switchには慣れてなくて、どうしてもif文を連発してしまうっていう人は結構いるのではないだろうか。

ってことでSwitch分使いましょうって話。Switchには便利な機能沢山あるし。

 

ここら辺から難しくなって意味が理解できないことが出てきた。

  • 定数は「k」から始まるキャメルケースで定義する
  • プロパティやメソッドは基本的にはprivateを付ける
  • メソッドには副作用を持たせない
  • ガード節はifよりもguardが好ましい
  • プロトコルの末尾に付ける文字列に注意
  • 状態を表したい場合はStringやIntではなくenumを使う
  • map/flatMap/filterを積極的に使う
  • Delegateyaやその他のprotocolを採用する場合はextensionで分ける
  • クロージャの中かinitializer意外で不要なselfは付けない
  • Modelクラスは基本的にstructを使って定義する

てな感じで後半に行くにつれて全く意味が分からない流儀が出てくる。

いつかSwiftを極めてアプリ開発も華麗にこなせるようになったら、これらを取り上げて解説していきたいと思う。

とりあえず、「Optional型についてしっかりと理解しよう」っていうのもあって「値が空でランタイムエラーを防ぐためにOptional型を使うよ」みたいな説明が、1冊目にはわかりやすく書いていたのを思い出して、「俺勉強したな~」ってしみじみ思って今後も頑張ろうって思った。w

最後に

2冊目の文法的な部分はこれで終わり。

次回からはアプリ制作をしながらSwiftについて学ぶ。かなり実践的だ。楽しみ。

続き⇒「【Swift奮闘記ep45】ロック解除する数あてゲームを開発(アプリ制作)

コメント