- 1 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 12:18:31 ]
- Objective-C(オブジェクティブ シー)はプログラミング言語の一種。C言語をベースにSmalltalk型のオブジェクト指向機能を持たせた上位互換言語。
(Wikipedia:ja.wikipedia.org/wiki/Objective-C より) 前スレ pc11.2ch.net/test/read.cgi/tech/1106983092/ 前々スレ pc5.2ch.net/tech/kako/990/990574267.html
- 656 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 15:18:45 ]
- >>655
NSViewのサブクラスは -drawRect:(NSRect)frame;をオーバーライドして描画をやります。 で frameにはview自身の大きさが入ってきます。 ので、それに習っただけでしょう。 DLしてないけど、多分NSViewのサブクラスがwindowに貼り付けてませんでしたか? 最後の段からすると多分そうなってるんだと思うけど、 そうしておくと、nibロード時にサブクラスを作ってそこに貼り付けてくれます。 (実際には違いますがイメージはそんな感じです) で、NSViewのサブクラスの -drawRect:(NSRect)frame; で描画処理が行われているはずです。
- 657 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 15:20:24 ]
- コントローラはデータを扱うクラスですので、データを使ってなければ不要です。
- 658 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 15:53:59 ]
- >654じゃないですが、こんな感じじゃないでしょうか。
答え1 - (void)drawRect: (NSRect)frameRect は nib (xib) が読み込まれて初期化する 時や絵を書き直す過程で呼ばれる。frameRect は描画する場所を限定する為のもの。 描画効率upの為に customView の一部に限定する事もできる。初期化の時は多分、 customView.bounds で view の全体を描画させているんだと思うな。 答え2 コントローラは介在していない。ていうか、MVC の View を直接いじっていて、 Model、Controller が無い状態。 と、書いているうちに >656 さんが書いてくれましたね。customView が直接 window に 貼付けられていました。
|

|