スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

デリゲート

どうも。最近更新途絶えていました。

まぁそれはおいておいて。

今回はデリゲートあたりならたいして時間を食わなそうだったんで説明します。

【デリゲート】
まず最初の疑問。「委譲」ってなんて読むんだ?普通に読んだら「いじょう」でしょうか。まぁPCの前にたってれば、変換できるかで分かるんですけれども、本の前だとそれでいいのかどうか分かんなかったり分かったり。
んで、「委譲」って書いてあるのに読みを「デリゲート」って読んでたり。
まぁ読みはコレを読んでる時点で分かると思いますが、「いじょう」です。まぁ今回はわざわざ「委譲クラス」とか書かないで、「デリゲートクラス」ないし「デリゲート」って書きますかね。ハイ。

デリゲートとは、その名の通り、誰かに何かを委譲する。つまり頼むって言う感じですかね。プログラミングで言うと、例えばオブジェクトobjとオブジェクトobjDelegateがあったとして、objにメッセージmesが来たとします(objDelegateは、objのデリゲート。つまり、なんらかのタイミングでobjからメッセージが来ます。この何らかのタイミングを今から説明します)。しかし、objはmesに対応することができなかった(つまり対応するメソッドなどがなかった)。すると普通なら、例外として処理され強制終了します(今回の話には関係ないですが、存在しないメソッドを呼び出せるあたりも「動的言語」な感じですね)。しかし、存在しなくてもオブジェクト自身にデリゲートが存在した場合、そのオブジェクトに、メッセージ処理を依頼できるんです。これが、デリゲートの概念っていうか、そういう感じです。

そして、自分自身にデリゲートを設定するときは、
- (void)setDelegate:(id)anObject
で設定できます(anObjectの部分にデリゲートさせるオブジェクトを設定する)。

で、このデリゲートが便利なのは、っていうかかなりよく使われるのがGUIを使ったアプリケーションのときです。NSApplicationMainという関数でNSApplicationのインスタンスが生成されます。基本的にはこのインスタンスのデリゲートとして様々な動作を制御することができるのです。

@説明終了

最後少し適当でしたが、デリゲートについては、ちゃんと書きました。ハイ。

どうでもいい話ですが、iPad2出そうですね。OS自体の大きな変更は無いが端末自体がかなり改造されて発売されるっていうのが世の中の大多数の見方みたいですが。

まぁmacのLionも夏出るみたいで、macもiPad化していくみたいですから、はやく売れそうなアプリケーションを作りたいところですね。

後、全然話が違いますが、ここ最近本当にmacの調子が悪いです。ハイ。もっさりし過ぎです。速くメモリを解放しないとなかなか直らなそうですが、ハイ。さっきからこの記事を書くのになかなかタイプしても文字が出てこなくてイライラしています。ブラウザの問題か。firefox使ってますが(safariも好きですが、なぜかここだけはこっちが)、タブがとてつもない量ですが、とてつもない量で逆に消したくないという衝動に駆られてしまっています。

まぁここらへんで。って書いてたら、ドラッグが前々反応しない。ハー。やっぱりタブ消さなきゃです
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

小さなプログラマ

Author:小さなプログラマ
小さなプログラマです。

これはあくまで、「勉強ログ」なので間違っている場合が多々あります。

なので、このブログに書いてあることは、8%くらいの信じ度でお願いします。

間違っているじゃないか!と言われてもあれなので。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
メールフォーム

名前:
メール:
件名:
本文:

カテゴリ
カウンター
検索フォーム
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。