/iOSTraining

Training course repository for iOS app development

Primary LanguageObjective-COtherNOASSERTION

iOS Development Training Course in Swift3

SwiftでのiOSアプリ開発の基礎知識と実務スキルを身に付けるトレーニングコース

概要

  • 当コースはエンジニア向けに構成されています。
  • 課題によって、実装前と実装後(それぞれbefore, after)のプロジェクトを用意しています。

環境

  • Xcode8.1以降
  • Swift3

1日目

項目

  1. 導入

  2. 基礎知識
    課題 1.1 Swiftの基礎
    プロジェクト day1/1.1

  3. プロパティの属性、メモリ
    課題 1.2 メモリ管理
    プロジェクト day1/1.2

  4. ビューコントローラ
    課題 1.3.1 UIViewControllerのカスタマイズ(stroyboard)
    補足 1.3.2 UIViewControllerのカスタマイズ(xib)
    プロジェクト day1/1.3

  5. モーダル
    課題 1.4.1 UIViewControllerのModalViewController(storyboard)
    補足 1.4.2 UIViewControllerのModalViewController(xib)
    プロジェクト day1/1.4

  6. ライフサイクル
    課題 1.5 UIViewControllerのライフサイクル

宿題

2日目

項目

  1. UIKit 1 - container, rotate-

  2. ナビゲーション
    課題 1.1 UINavigationController
    プロジェクト day2/1.1

  3. タブ
    課題 1.2 UITabController
    プロジェクト day2/1.2

  4. 回転
    課題 1.3 Supporting Multiple Interface Orientations

  5. UIKit 2- UIView -

  6. ビュー1
    課題 2.1 UIView
    プロジェクト day2/2.1

  7. ビュー2
    課題 2.2 UIViewのカスタマイズ

  8. アニメーション
    課題 2.3 UIView Animation
    プロジェクト day2/2.3

  9. Auto Layout
    課題 2.4 AutoLayout

  10. UIKit 3 - table view -

  11. テーブル1
    課題 3.1 UITableViewについて
    プロジェクト day2/3.1

  12. テーブル2
    課題 3.2 UITableViewとNavigationController
    参考 1.1 UINavigationController
    プロジェクト day2/3.2

  13. セル
    課題 3.3 カスタムUITableViewCellの作成

  14. テーブルのカスタマイズ
    課題 3.4 UITableViewのその他のオプション、カスタマイズ
    参考 3.1 UITableViewについて
    プロジェクト day2/3.4

  15. セルの高さ
    課題 3.5 Dynamic height with a custom UITableViewcell

宿題

3日目

項目

  1. Closure, GCD

  2. Closure
    課題 1.1 Closure
    プロジェクト day3/1.1

  3. GCD
    課題 1.2 Grand Central Dispatch

  4. UIKit 4 - image and text -

  5. 画像1
    課題 2.1 UIImagePickerController
    プロジェクト day3/2.1

  6. 画像2
    課題 2.2 PhotoKit

  7. テキスト
    課題 2.3.1 KeyboardNotification
    参考 2.3.2 UITextFiled, UITextView
    プロジェクト day3/2.3

  8. ローカルキャッシュと通知

  9. 設定
    課題 3.1 UserDefaults, Settings Bundle
    プロジェクト day3/3.1

  10. ファイル
    課題 3.2 FileManager
    プロジェクト day3/3.2

  11. オブザーバ
    課題 3.3 Key Value Observing

  12. 通知
    課題 3.4 Notification、NotificationCenter を用いた通知
    参考 2.3.1 KeyboardNotification

  13. ネットワーク処理

  14. JSON
    課題 4.1 JSONのシリアライズとデシリアライズ

  15. 通信
    課題 4.2 HTTPリクエストの基礎
    参考 App Transport Security
    参考 AlamofireとSwiftyJSONでAPIを叩くチュートリアル
    プロジェクト day3/4.2

  16. ウェブビュー
    課題 4.3 WKWebView
    プロジェクト day3/homework

宿題

4日目

  1. 開発ツール

  2. デバッグ
    課題 1.1 開発ツール

  3. CocoaPods
    課題 1.2 CocoaPods

  4. Carthage
    課題 1.3 Carthage
    参考 Swiftで使えるライブラリ管理ツールCarthageの使い方
    参考 Swift Package Manager を試してみました

  5. 設計とデザインパターン

  6. クラス設計1
    課題 2.1 クラス設計 1

  7. クラス設計2
    課題 2.2 クラス設計 2

  8. クラス設計3
    課題 2.3 プロトコル指向プログラミング

  9. クラス設計4
    課題 2.4 クラス設計演習
    プロジェクト day4/homework

Objective-Cバージョンはこちら