1

私は、Block オブジェクトを UIAlertView などのデリゲートにする方法を空想していました。それは少し奇妙です、私は認めます。しかし、Block オブジェクトにメソッドを追加することは可能でしょうか? メソッドでキャプチャされた変数にアクセスできますか?

4

3 に答える 3

0

私の答えは「はい」ですが、UIAlertView には関連付けられていません。

クラスがネットワーク セッション完了ハンドラーとしてブロックを提供するとします。次に、このクラスをサブクラス化し、(とりわけ) ハンドラーに何かを追加する必要があります。

元のハンドラーをコピーしてコードを追加する必要があります。コードの重複はコードの悪臭です。しかし、ブロックをサブクラス化する方法を知りません。:(

于 2014-02-26T15:38:13.963 に答える
0

REKitを使用すると、delegate メソッドが呼び出されたときに実行されるブロックを作成できます。に限りませんUIAlertView。委任パターンに採用されているすべてのインスタンスに REKit を使用できます。REKit の「デリゲート自体」の例を参照してください。

于 2013-02-14T10:30:21.250 に答える