私はperformSelectorを使用する理由と方法を理解しようとしています。私はAppleDocsに出くわしました。しかし、私はそれを完全に理解することはできません。
誰かがこれを説明するのを手伝ってくれるでしょうか?
私はperformSelectorを使用する理由と方法を理解しようとしています。私はAppleDocsに出くわしました。しかし、私はそれを完全に理解することはできません。
誰かがこれを説明するのを手伝ってくれるでしょうか?
Appleのドキュメントから:
PerformSelector:メソッドを使用すると、実行時まで決定されないメッセージを送信できます
長い話:
オブジェクトがこの特定のメソッドを実装しているかどうかを事前に知らなくても、オブジェクトにメッセージを送信できます。例えば:
NSString *astring = @"test";
[test dance]; // Doesn't compile
[test performSelector:@selector(dance)]; // Doesn't make sense but compiles
AFAIK、セレクターを使用するcallback method
ことは、Java、C#、...で行ったこととして宣言する方法です。非同期計算を実行し、実行するたびに結果を返すライブラリAを開発するとします。開発時には、計算が完了するたびにどのコールバックメソッドを呼び出す必要があるかわかりません。したがって、ライブラリにselector
入力パラメータとして取得させ、performSelector
後でコールバックメソッドを呼び出すために使用することができます。
お役に立てれば。