未知しるべiOS班の開発合宿
ゆかりがんばれ!!!!!!
当たって砕けろ!!!!!
分量多くてすまん!!!!
-
gitフロー
- https://qiita.com/KosukeSone/items/514dd24828b485c69a05
- masterブランチ、developブランチにはpushしない!!
- 原則として、developからfeatureブランチを切る
- とりあえず、masterブランチ、developブランチ、featureブランチは覚えてほしい
- 随時、developにマージする
- masterにマージするタイミングは、アプリ完成時(1つの不具合もない状態、warningも極力解消する)
- 余裕があれば、俺がプルリクレビューするよー
-
githubフロー
- https://qiita.com/tbpgr/items/4ff76ef35c4ff0ec8314
- 全てのブランチはmasterブランチから派生される
- 随時、masterにマージする
- masterにはpushしない
- アーキテクチャはMVP(Model View Presenter)
- APIの仕様を調べよう
- Postmanを使いながら、サーバからのレスポンスを確認する
- 1storyboardに1ViewController(鉄則)
- storyboardとViewControllerを紐付け(これ忘れるとViewが表示されない)
- APIはModelで叩くといいよ(人によってはPresenterでやることも)
- ModelとPresenterでは import UIKit 禁止(Viewを管理するのはViewControllerだけ)
- まあ、分からんことあったら調べてね
- ViewControllerにベタがきはやめよう(ファイル分け)
- pushした後はプルリクを出す
- Xcode上でグループを作ると見やすい
- デバッグには、print文とかブレイクポイントを使うといいよ
- ブレイクポイントに関しては、「あれ?このメソッド呼ばれてなくね??」とか「この行のこのコード実行されてなくね??」とか思った時に使うといいよ(ブレイクポイントつけた箇所が呼ばれるとビルド時にその箇所でプログラムが止まる)
- デフォルトのViewControllerとMain.storyboardは消して、自分で新たに作り直して開発するのが定石(開発チームによっては、Main.storyboardは残すこともある)
- xcodeprojファイルは、ファイル追加しただけでコンフリクトを起こす厄介なやつ(そのためにXcodegenを使ってgitの追跡対象から外して、ビルド時にxcodeprojファイルを生成させる)
- プロジェクトを作って、CocoaPodsを導入する(xcodeprojではなくて、workspaceで作業をする)
- できたらXcodegenを使ってほしいところ(こいつ使うとxcodeprojファイルのコンフリクトを防げる)
- まず、UIを構成する(storyboardでもコードでもおk)
- View、Presenter、Modelのグループを作る
- storyboardとViewControllerを紐付け
- MapKitをインポートして地図を表示する
- Alamofireを使ってAPIを叩き、レンポンスをコンソールに表示する(URLSettionでもいいけど、めんどいよ)
- Modelの中のAF.requestメソッド内でjsonを解析する
- Modelの情報をPresenterにぶん投げる
- Presenterでは、Viewが扱いやすいように情報を整形する(Modelから情報が取れているか確かめたり、キャストしたり)
- Viewでは、Presenterから貰った情報をそのまま表示する(Labelに反映するとか、TableViewに反映するとか)
- この辺は比較的難しいけど、うまくできた時は快感
- キーワード
- 非同期
- クロージャ
- ハンドラ
AF.request(requestURL, method: .get, encoding: JSONEncoding.default).response { response in
// この中にコード書く
// jsonをパース(JSONDecoderを使ってゴニョゴニョする)
}