本リポジトリは株式会社ゆめみのiOS エンジニアコードチェック課題です。
- IDE:Xcode 12.4
- Swift:Swift 5.3.2
- 開発ターゲット:iOS 13.4
- サードパーティーライブラリー: SwiftPMを使って以下を導入
- Nuke https://github.com/kean/Nuke
- Reachability https://github.com/ashleymills/Reachability.swift
- JGProgressHUD https://github.com/JonasGessner/JGProgressHUD
- 各変数の命名、空白やインデントを修正した
- スペース、改行も修正
- プロジェクトのフォルダ構成を整理
- アンラップされている箇所に if let や guard let で対応した
- 不要なIUOを削除
- 想定外のnilの握り潰しはエラーハンドリングで対応
- レイアウトとパースのエラーは修正した
- Instrumentsを使ってメモリリークの調査をしたが解決には至らなかった
- 通信する部分をViewControllerから切り外し、通信部分の処理を行うクラスを追加した
- カスタムセルのプロパティにセットするロジックをセル側に移動
- アクセス制限を追加
- APIレスポンスのパースにDecodableを導入、エンティティを構造体で定義
- Storyboardの分割
- 画面遷移時のUIViewControllerのインスタンス時のDIを追加
- MVCを採用
- カスタムセル追加
- 通信中のインジケーターを追加
- エラー時のアラートダイアログを追加
- 未着手
- 未着手