如何获取有关谁调用方法的信息?

时间:2010-01-23 05:12:13

标签: iphone objective-c

我想获得一些关于谁调用特定方法的信息。即,如果可能,获取进行呼叫的方法的行号和文件名。类似于 FILE LINE ,除了堆栈中的一个级别。这在高级语言中是可行的,但是在Objective-C中可以做任何方式吗?

- (void)myMethod {
    NSLog(@"I was called by file %@, line #%i", callingFile, callingLine);
}

1 个答案:

答案 0 :(得分:1)

不,没有。您必须告诉用户自己传递__FILE____LINE__

#define myMethod myMethodWithFile:__FILE__ line:__LINE__
...
-(void)myMethodWithFile:(const char*)file line:(int)line {
  NSLog(@"I was called by file %s, line #%d", file, line);
}
...
[obj myMethod];