Objective-C方法如何引用调用它的对象?

1 methods objective-c invoke

这很简单,让我发疯,我无法找到答案.

方法如何引用调用它的实例?

示例:在alpha类的某些方法中,我有"[bravo charley]"

我想让charley方法做"[alpha-instance delta];" 用特殊的alpha实例做了"[bravo charley]".但查理对alpha或其实例一无所知.

换句话说,如何从alpha实例中的方法调用的charley方法中获取对alpha-instance的引用?

我可以做点什么

in bravo.h:
    -(id) charley:(id)invoker;
in alpha.m:
    [bravo charley:self];
Run Code Online (Sandbox Code Playgroud)

然后"[invoker delta];" 在查理方法中,但这看起来很难看.

The*_*heo 11

实现这一目标的常用习惯是传递一个sender带有消息的参数,或多或少类似于你的例子.这是例如如何指定绑定为用户界面动作的方法 - 例如

-(IBAction)doTheThing:(id)sender
Run Code Online (Sandbox Code Playgroud)

没有内置的方法来获取发送消息的对象,而且很少需要它.