【问题标题】:How to check method caller source in Objective-C?如何在 Objective-C 中检查方法调用源?
【发布时间】:2015-06-23 16:14:14
【问题描述】:

我有一个调用自身的方法:

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

我需要从myMethod 内部检查它被调用的位置。例如,IF 调用myMethod 执行此操作,ELSE 执行此操作。

【问题讨论】:

标签: ios objective-c methods


【解决方案1】:

你能传入一个布尔值来显示从外部调用还是从递归调用?

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

然后从外部调用它:

[self myMethod:true];

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

【讨论】:

    猜你喜欢
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    相关资源
    最近更新 更多