しばやん雑記

ASP.NET とメイドさんが大好きなフリーランスのプログラマーのブログ

Cocoa MVC の理解に苦しむ

最近、Cocoa Touch で開発しなくてはいけない事情があったので調べながら書いていくと、某メイドカフェで何か降りてきた。それから Cocoa + Objective-C での開発にはまりつつあるのですがって、こんな謎説明いりませんね、わかってます。

とりあえず、Cocoa MVC の理解に苦しんだのでメモる。そういえば、大抵の FW では Model 部分はあまり提供されませんね。

View

NSWindow, NSView に該当するのかな?個人的にはそう認識しています。マウスイベントなどは View で処理してしまうのか、Controller なのか迷ったりしましたが、今はコントローラに投げてます。

Controller

複数の NSWindow を使うときには NSWindowController を使うのが定石らしい。Web のサンプルだと NSObject からアウトレット作ってやってたりしますね。

結局のところ

NSWindow と NSView は表示に関係することだけを実装して、その他はコントローラでやるのが基本なのかなと。ちゃんとデリゲート指定してやれば、レスポンダーチェインを辿ってイベントは来てくれますし、NSWindowController を使えばデリゲートも勝手に指定してくれるみたいですし。

後は Interface Builder の使い方が分かれば何とかなります。File's Owner とか First Responder とかわからない単語ばかり出てきますが、いろいろ試しているうちに何となく理解出来ます。ってか出来ました。