アプリ開発言語  SWIFT


Swift言語学習の心得

  1. 基本的な学習は、日本語の書籍で勉強できますが、開発に入ってエラーを解決するためには、Webの英語のサイトで調べる必要があること
  2. 開発中に、何度も問題解決するまでに数日悩むことがあるが、めげずに調査する努力を惜しまないこと
  3. 学習は、単機能ごとに実行できるプログラムを確かめながら、かつ、デバッガーでステップbyステップでプログラムの実行過程を確認し、動きを理解すること
  4. 学習には、YouTubeなど動画サイトが分かりやすので、キーワードに「Xcode」「Swift」「調べたい単機能」を入れると10分から50分ぐらいの動画で勉強ができるが、多くの場合英語のサイトなので忍耐強く、繰り返し見ること
  5. アプリの開発のチュートリアルは、いつくか参考になるリンク先があるので参照すること

MacのSafari画面に Translation this pageのボタンが、URLのすぐ左にあるので、翻訳機能を使って内容を理解しましょう

Swift言語の参考にしたいWebサイト


さあ、始めようSwiftプログライミング

お手持ちのMac PCにXcodeがダウンロードされ、IOS Developper Programにも、開発者としの登録が終わっている場合、Xcodeを使って開発が始められます。

 

まずは、開発言語のSWIFTの書籍を2~3冊、購入することをお勧めいたします。

XcodeのEditorと言われる画面周りの使い方の基礎を学びましょう。 別途、初心者を対象とした研修に参加するのが手っ取り早い学習かと思います。

 

このチュートリアルでは、SWIFT言語の「最小限学びたい機能」、「ワンランク上の機能」、「上級者に求められる機能」を学ぶべく、簡潔に機能を列挙いたします



最低限学びたいswiftの機能

  1. まずは、画面周りの機能の習得
    1. ラベルを使った文字の表示
    2. テキスト・フィールドを使った文字の入力
    3. テキスト・ビューを使ったやや長い文章の入力
    4. ボタンを使ったアクションの起動
    5. イメージ・ビューを使った写真等の表示
    6. 基本的なStackViewとAuto Layout機能の習得
  2. 基本画面の習得
    1. ViewControllerの使い方
    2. TableViewControllerの使い方
    3. TableViewCellの使い方
      1. Default CellとCustom Cell
  3. 画面の遷移機能の習得
    1. ナビゲーション機能を使った画面遷移
    2. セグエを使った画面遷移
  4. 基本的なデータの保存、更新、削除機能の習得
    1. ユーザ・ディフォルトの使い方

 

上記機能を使うにあたって、Swift言語の表記のルールの習得が必要です

  1. 変数、定数、文字列
  2. データの型と変換
  3. ちょっと分かりづらい オプショナルの使い方
  4. 配列
  5. 制御文
  6. 関数
  7. クラス

 

以上、最低限と思われる機能をあげました。これで簡単なTo Do リストなどのアプリが作れますよ。


ワンランク上のSwiftの機能

  1. 画面周りでは、 よくつかう単機能として
    1. Switch機能
    2. Slider機能
    3. SegmentedContorole機能
    4. Steper機能
    5. ImageView機能
    6. PickerView機能
    7. DatePicker機能
    8. WebPageの表示機能
    9. CollectionView機能
    10. Mail機能
    11. Gesture機能
    12. Scroll機能とUIView機能
    13. アドバンスなStackViewとAuto Layout機能
    14. アラート、アクションを表示する機能

上級者に求めらるswiftの機能

  1. 本格的画面周りの機能
    1. ジェスチャー機能
    2. Taped Application機能
    3. Page機能
    4. Search Bar, Search Bar Display Controller機能
  2. 本格的データベースの構築 CoreDataの取り扱い
    1.  Modelingの考え方
    2. Entity, Attribute, Relationsの定義
    3. Save, Fetching, FetchResultController機能
    4. NSSortDiscriptor機能
    5. NSPredicate機能
    6. Data Model Migration機能
  3. クラウドとのデータの連動処理
  4. CSV Fileの作成
  5. Mailの発信機能
  6. SNSへの投稿機能
    1. Facebookへの投稿
    2. Twitterへの投稿
  7. 位置情報の取り扱い
    1. Mapkit機能
    2. Core Location機能
  8. アプリのセキュリティ機能
    1. Login / Passwordの認証
    2. キーチェーンへの認証登録

当チュートリアルでは Game機能は取り扱っておりません


開発で陥りやすいエラー

SWIFTは、他の言語に比べ書きやすい言語と言われています。

それでも、Xcodeの開発ツール、いわゆるインタープリーターですが、画面を標準的なストリーボードを使い、ほぼ画面ごとに「クラス」と言われるプログラムのかたまりを作り込んでいきます。ストリーボードの各画面とクラスがプログラム的に接続されていきます。

 

陥りやすい、エラー

 

  1. 画面のテキストフィールドや、ラベル、イメージ等がOutletとしてプログラムに接続されるが、時々修正したら、古い接続が二重に接続され、ビルト時に突然アボートしてしまう
  2. テキストフィールドや、ラベル等の英数文字列が、大文字小文字の組み合わせで データベースのフィールド定義としばしば混同してエラーとなる、 表記ルールを自分なりに決めると良い
  3. CoreDataを使ったデータベースで、後からフィールドを追加すると、CoreDataのMigrationが必要になる。 しかし、導入したアプリは、古いデータベースのため動かなくなる。 このような場合に備えて、予備のフィールドを事前に用意する
  4. Swiftで一番分かりづらいのが、データのオプショナルの指定と、アンラップした時にnilでプログラムがアボートするエラー、この回避策は、初期値として何かデータを入れておくのが良い
  5. 配列などのインデックスの数の不一致により、プログラムがアボートする、常に配列のカウント機能を使うのが良い
  6. 画面デザインで欠かせないのが、Auto Layout機能です。 この使い方を習得したら一人前と言える。というのは、iPhone/iPadの画面サイズとそのピクセルは、一番小さいiPhone 4sで 640x960、 一番大きいiPad Proで 2048x2732 さらに、Portlate(縦長)とLandscape  (横長)。 よくやるエラーが、縦横で、デバイスごとに、UserInterface がバラバラになってしまうエラー。 回避策は、StackViewを多用することだが、 これがまた、不安定で、プログラムが重くなってします。
  7. などなど、開発して初めてわかる使い方のエラー

 

これらの回避策は、研修等のOJTで経験者の話を聞くことが良い