0
나는이 같은 방법 및 클래스가있는 경우 :메서드 내에서 해당 메서드를 호출 한 개체를 찾으십시오?
@implementation Animal
-(void) move{
id *object = [object that called move];
}
@end
말을 나는 이동에 인스턴스 '자기'를 통과하지 않고 두 개의 다른 클래스
@implementation C1
...
[self.animal move]
...
@end
@implementation C2
...
[self.animal move]
...
@end
이는에 접근하는 그들의 몇 가지 방법입니다 움직이기 때문에 자기? 당신은 목표 - C에서이 작업을 수행 할 수
언어처럼 아무것도 없다 - 당신은 무엇을하려고하는 문제 풀다? –
[누가 메소드를 호출했는지 알아 보는 방법?] (http://stackoverflow.com/questions/1793999/how-to-find-out-who-called-a-method) [검색 방법 누가 호출자인가?] (http://stackoverflow.com/questions/1373991/)와 [breen에서 좋은 대답은 어디에서 호출 된 방법 찾기] (http://stackoverflow.com/questions/1614208/finding) -where-a-method---from-from). –
'보낸 사람'을 전달하는 것은 이것을 달성 할 때 일반적인 관용구입니다. 예를 들어 버튼에 대해 생각해보십시오. 단추에 처리기를 추가하고 단추에 대한 작업을 수행 할 때 처리기를 호출하여 처리기를 전달자로 전달합니다. – Jeremy