Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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の再読み込み
    }
}
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away