私は渡すペイロードに基づいて、UIButton
をインスタンス化だけでなく、このように、アクションハンドラを追加するために、単一のクラスのメソッドを使用しようとしています:addTargetを呼び出す方法:action:forControlEvents:クラスメソッドからですか?
+ (void)instantiate: (UIButton *)button with:(NSDictionary *)payload {
[button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
button.title = payload.title;
}
通常、私は問題はありませんinstantiate:with:
メソッドが通常のメソッドであった場合、この場合はbuttonClicked:
メソッドを実装する方法がわかりません。
クラスメソッドにする必要がありますか?それはインスタンスメソッドか?また、それをクラスメソッドにする必要がある場合、addTarget:action:forControlEvents:
コールの中で@selector
をどのように指定すればよいですか?
セルフクラスメソッドにはアクセスできません。 – Lubakis
あなたの場合、自己であると思われるものは何ですか?ボタン自体は?そのクラスは何ですか?そのクラスのシングルトンですか? – Larme
@ルバキス確かに - クラスメソッドの中で使われると、実際のクラスを自己参照します。 – rmaddy