6

セレクターが引数として必要な場所ならどこでもセレクターであるインライン匿名セレクターを定義できるようにしたいと思います。

これは可能ですか、それとも単に吸い上げてメソッドを定義する必要がありますか?

背景: 私の iPhone アプリケーションでは、別のスレッドから UI を更新する必要があります。これを行うために私は使用performSelectorOnMainThread:withObject:waitUntilDone:しますが、他のメソッド全体を定義することなく、この機能を取得できるようにしたいと考えています。

4

1 に答える 1

15

残念だけど違う。アイデアは自己矛盾しています — セレクター名前です。それだけです。機能を定義しません。

ブロックが Mac OS X に導入されたつい最近まで、Objective-C には匿名関数はありませんでした。Plausible Blocksを介して iPhone でそれらを使用することは可能ですが、それらはまだそこの API に統合されていません。

アップデート 2014

この答えは 2009 年には正しかったのですが、今では Apple はブロックを iOS フレームワークにうまく統合しています。それらは現在、コールバックにかなり広く使用されており、Grand Central Dispatch 同時実行ライブラリで頻繁に使用されています。

于 2009-11-23T00:58:09.853 に答える