LoginSignup
2
3

More than 5 years have passed since last update.

【提案】シンプル&強力なUIViewControllerのテンプレートを作って見た

Posted at

iOSのネイティブアプリのアーキテクチャーほど議論が尽きないものはない!

と思います。

普通にiOSのネイティブ開発を始めると、基本的には、ViewControllerが肥大化していきます。
それを防ぐために、MVVCとクリーンアーキテクチャーとか色々なデザインパターンが生まれては、消え、試しては消え、みたいな感じになっているのが現状ではないでしょうか?

ぶっちゃけ・・・

initData()
initViews()
updateData()
updateViews()

この4つを定義して、使い回すだけで結構いい感じになるのではないでしょうか?

もしよければどうぞ!わかる人だけわかってくださいw

import UIKit

class TemplateViewController: UIViewController {
    // 一回だけ呼ばれる
    override func viewDidLoad() {
        super.viewDidLoad()
        initData()
        initViews()
    }

    // 毎回呼ばれる
    override func viewWillAppear(_ animated: Bool) {
        // 画面が呼ばれるたびにデータが変わる可能性がある場合は、initData()とinitViews()をこちらにおく
    }

    // レイアウト処理終了
    override func viewDidAppear(_ animated: Bool) {
        // 画面が表示された後で実行する処理はこちら
    }

    func initData(){
        // データの初回読み込み
    }

    func initViews(){
        // Viewの初回設定
    }

    func updateData(){
        // データの再読み込み
    }

    func updateViews(){
        // Viewの再読み込み
    }
}
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3