Josh Kahane
Josh Kahane

Reputation: 17169

How to check method caller source in Objective-C?

I have a method which calls itself:

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

I need to check, from inside myMethod where it is being called from. For example, IF called myMethod do this, ELSE do this.

Upvotes: 1

Views: 87

Answers (1)

Putz1103
Putz1103

Reputation: 6211

Can you just pass in a boolean to show called from external vs called from recursion?

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

And then call that from outside with:

[self myMethod:true];

That may be over simplifying, especially if you need to get the calling method from multiple different locations (instead of recursion vs external call), but it seems to me the simplest answer to your presented problem.

Upvotes: 4

Related Questions