这很简单,让我发疯,我无法找到答案.
方法如何引用调用它的实例?
示例:在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)
没有内置的方法来获取发送消息的对象,而且很少需要它.
| 归档时间: |
|
| 查看次数: |
269 次 |
| 最近记录: |