search
New サムネイル Pythonで同じディレクトリにあるファイルを開く(path.dirname(__file__) New サムネイル PythonでSchema.orgのDate形式(ISO 8601)を扱う New サムネイル 分断するメディアとインターネットのユーザー:ライトノベル、キズナアイ、TikTokに思うこと

Swiftの学習方針と開発に役立つリファレンスページまとめ

広告

勉強法

Swiftの開発で参考になるサイト

  • Apple
  • Stack Overflow
  • raywenderlich.com
  • Medium
  • YouTube
  • Qiita

他のプログラミング言語と違い、Swiftの開発は調査力が影響する。文法や使い方を知ること以上に、調査を高度にルーティン化することが効率的な開発に不可欠になる。例えば検索するときに、キーワードと一緒に2018と入力すると効率がよくなる。Swiftは最も言語仕様が変わるプログラミング言語である。

またYouTubeの解説動画は、特定の言語仕様を深く理解する上で、遠回りでも役に立つことが多い。特に Lets Build That App というYouTubeチャンネルは中上級者向けにわかりやすく解説している。

Lets Build That App - YouTube

Swiftの開発は英語力がものをいう。iPhoneの利用率は高いが、Swift日本語の文献はきわめて少ない。

ブログよりもStack Overflowと公式リファレンス

英語でも日本語でもブログはたくさんあるが、結局はStack Overflowを読むと効率がよくなる。しかし、画面遷移や画面制御の本質を理解しないままコードやストーリーボードを作ることは大きなリスクがある。

Swiftの開発は段階的に本質を理解する作業をともなう。本質を探る時間を一定以上とらないと、作ったものが本質的に間違っていたということが何度も起きる。

そうした非効率な作業を減らすためには、定期的にAppleの公式リファレンスを読むことがなにより役立つ。

車輪の再発明、独自技術症候群を全力で避ける

Swiftなどのプログラミング言語は、多くの人がすでに膨大な数のライブラリを作っている。例えばPythonで機械学習のアルゴリズムをゼロから作ることは、時間と金の浪費にしかならない。

iPhoneからサーバーに接続してデータを取得するコードをゼロから書いても意味がない。それはAlamofireという強力なライブラリが用意している。

開発のステップは次のようになる。

  1. ライブラリを探す
  2. ライブラリを使う
  3. ライブラリを使えない場合、自分のしたいことが間違っていないか考える
  4. 間違っていなければ、ライブラリに相当するものを自分で作る

代表的なライブラリは下のページにまとめている。

Swiftで人気のCocoaPodsライブラリ一覧(IGListKit、Alamofire、SwiftyJSONなど)

文法そのものは真正面から勉強しない

Swiftは他のプログラミング言語にない独特な文法を持っているが、本を読んでこれらを真正面から受け止めるより、開発を通じて自然に学ぶほうが効率がいい。これはC言語などと同様かもしれない。

Swiftは本から勉強してはいけない。言語仕様が毎年のように変わっているため、少しでも古い本はあてにならない。

Objective-Cはとりあえず無視する

今でもObjective-C関連のページが残っているが、Swift 4以降のページのみを参考にする。意図してObjective-Cのページを避けていかないと、結局時間を浪費することになる。

基本

CocoaPods Tutorial for Swift: Getting Started - raywenderlich.com
【Swift】CocoaPods導入手順 - Qiita
CocoaPodsによる、外部ライブラリの利用と作成 | Developers.IO

ライブラリ(CocoaPods)

Swiftで人気のCocoaPodsライブラリ一覧(IGListKit、Alamofire、SwiftyJSONなど)

タブバー

タブバーそのものはシンプルだが、アイコンを設定したり、タブとナビゲーションを組み合わせたりというときに、次のページが参考になる。

UITabBarControllerをコードから使ってみる

ナビゲーションバー

How to Navigate from one View Controller to another using Swift - Stack Overflow
Changing navigation title programmatically - Stack Overflow

extension

Swift extension example - Stack Overflow

広告

広告

広告

コンピューター コンピューター
プログラミング プログラミング
数学 数学
英語 英語
国語 国語
理科 理科
社会 社会

Python入門

Python入門

化学入門

化学入門

漢字辞典

漢字辞典

整数辞典

漢字辞典

Lord Candy

Lord Candy