ページ

2009年7月4日土曜日

ホットキー変更対応(19) - 実装 利用側

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

HotkeyRegister へ行く前に利用する側のコードをイメージしてみる。その結果によって必要なインターフェイスが決まる。

サンプルを作り、利用側のイメージを固めてみる。
例えばこんな感じ。

AppController.m

- (void)awakeFromNib
{
Hotkey* hotkey = [[[Hotkey alloc] init] autorelease];
hotkey.code = 0x29;
hotkey.modifier = cmdKey | optionKey;
hotkey.target = self;
hotkey.action = @selector(keyDown:);

HotkeyRegister* hotkey_register = [Hotkeyregister sharedRegister];
[hotkey_register registHotkey:hotkey];
}


Hotkey のインスタンスを作り、そこへキーコードや修飾キー(modifier)、そしてキーが押された時に呼び出されるインスタンス(target)とメソッド(action)を設定する。

HotkeyRegister は registHotkey: を受け、この情報をもとにホットキーをシステムへ登録する。ホットキーが押された時にシステムからHotkeyRegisterの特定のメソッドがコールバックされるので、その中で [target action] を呼び出す。

実装は続く。。

- - - - -
こんな本が出ていた。


こんな記事も出ている。
有料ゲーム危機の時代 iPhoneアプリは「ゼロ化」の法則に立ち向かえるか