2つのクラスAとBがあります。クラスAは、クラスBにターゲット/アクションのペアを与え、クラスBは後でコールバックします。ターゲットはself(=クラスA)、アクションはコールバックメソッドです。コールバックは後で行われます:
[target performSelector:action withObject:anObject];
メソッドアクションは、このコールバックによってのみ呼び出されます。クラスAの.hファイルでメソッドを宣言しなくても問題なく動作します。しかし、私の質問は、.hファイルでメソッドを宣言しないのは悪い設計ですか?メソッドはコールバックでのみ呼び出されるので、宣言する必要はないと思いますね。つまり、コールバック「performSelector」は、実行時にメソッドが存在するかどうかを確認することさえできません。それで、あなたの提案は何ですか?