0

私がやりたいことは、独自のボタン クラスを作成することですが、開発者が独自のボタン コールバックを持つ機能を提供する必要があります。

たとえば、次の方法で新しいボタンを宣言できます。

Button* myButton = [[Button alloc] init];
// What I want is something like this
[myButton setSelector: @selector(callMe)];

// and I have this method implemented
- (void)callMe
{
    NSLog("I'm being called");
}

ボタン クラス内には、呼び出す関数を格納するための変数が 1 つ必要です。たとえば、私の Button クラスでは次のようになります。

if (onButtonClick)
   [self callSelector];

どうやってやるの?

編集: ここで解決策を見つけました: How to perform Callbacks in Objective-C

4

1 に答える 1

0

単純:

if (onButtonClick)
   [self performSelector:callSelector];

Objective-C のすべてのクラス (NSObject) の基本クラスについて読む良い機会です。そのようなものがかなり定期的に必要になるからです。

于 2012-10-22T17:56:30.383 に答える