如何检查Objective-C中的方法调用者来源?

时间:2015-06-23 16:14:14

标签: ios objective-c methods

我有一个自称的方法:

-(void)myMethod
{
     //do stuff
     [self myMethod];
     //do stuff
}

我需要从myMethod内部进行检查。例如,名为myMethod的IF执行此操作,ELSE执行此操作。

1 个答案:

答案 0 :(得分:4)

你能直接传入一个布尔来显示来自外部的调用vs来自递归的调用吗?

-(void)myMethod:(bool)externalCall
{
     //do stuff
     [self myMethod:false];
     //do stuff
}

然后从外面打电话给:

[self myMethod:true];

这可能过度简化了,特别是如果你需要从多个不同的位置获取调用方法(而不是递归与外部调用),但在我看来,对你提出的问题最简单的答案。