LoginSignup
87
86

More than 5 years have passed since last update.

iOSアプリ開発におけるMVC

Posted at

iTunes Uで公開されているStanfordの「Developing iOS 8 Apps with Swift」で、MVCの解説をしている部分がわかりやすかったのでまとめてみました。

Lecture 2 Slides

オブジェクトは以下の3つのグループに分けられる。

  • モデル
    • アプリケーションの本質的な部分(見た目については関知しない)
  • コントローラー
    • モデルがどのように表示されるか(UIロジック)
  • ビュー
    • コントローラーに隷属するもの

3つのグループ間のコミュニケーションには以下のような原則がある。

  • コントローラーからモデルは直接呼べる
    (=ヘッダーをインポートして直接メソッドを呼べる)
  • コントローラーからビューも直接呼べる
    コントローラーからビューへの参照がアウトレット
  • ビューからコントローラーは以下のパターンを使う
    • ターゲット-アクション
    • デリゲート
    • データソース
  • モデルからコントローラーは以下のパターンを使う
    • 通知
    • KVO
  • モデルとビューは直接やり取りしない
    (モデルからの通知やKVOをビューで受け取ることはあり得る)
87
86
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
87
86