0
私はこのようなメソッドとクラスを持っている場合:メソッド内で、そのメソッドを呼び出したオブジェクトを探しますか?
@implementation Animal
-(void) move{
id *object = [object that called move];
}
@end
は私が動きに「自己」のインスタンスを渡すことなく、2つの他のクラス
@implementation C1
...
[self.animal move]
...
@end
@implementation C2
...
[self.animal move]
...
@end
があると、へのアクセスを得るために彼らのいくつかの方法であります自己からの移動?
あなたはときのようなメッセージクラス、私が提案する可能性があり周りだけの仕事は、送信者の参照を送信していますが、Objective-Cでこれを行うことはできません
言語でそのようなものはありません - あなたがしようとしているどのような問題解決する? –
[誰がメソッドを呼び出したかを知る方法は?](http://stackoverflow.com/questions/1793999/how-to-find-out-who-called-a-method)[検索方法誰が呼び出し元ですか?](http://stackoverflow.com/questions/1373991/)、[メソッドがどこから呼び出されたかを見つける]のbbumからの素敵な答え(http://stackoverflow.com/questions/1614208/finding -where-a-method-called-from-from)を使用します。 –
「送信者」を渡すことは、これを達成する際の一般的なイディオムです。例えば、ボタンを考えてみてください。ボタンにハンドラを追加し、ボタンに対してアクションを実行すると、ハンドラを送信側として渡します。 – Jeremy