如何将方法类的名称作为NSString获取?

时间:2009-09-03 14:52:06

标签: iphone cocoa-touch uikit

我需要拥有方法的类的名称,如NSString。示例:-fooBar中有SomeClass方法,-fooBar方法运行一些代码。这段代码必须打印出哪个类“拥有”它,我的意思是:该方法属于哪个类。所以我不能在NSString中硬输入类名,因为我需要它来进行调试,动态确定类的名称。难以解释。有什么想法吗?

3 个答案:

答案 0 :(得分:62)

在Mac上,您可以使用:

NSString *className = [self className];

NSString *className = NSStringFromClass([self class]);

在iPhone上,[self className]不存在,因此您必须使用:

NSString *className = NSStringFromClass([self class]);

答案 1 :(得分:10)

NSLog(@"%@",[self className]);

更新:抱歉,我没有意识到iPhone上不存在className。 如上述评论所示;使用..

NSLog(@"%@", NSStringFromClass([self class]));

..而不是。

答案 2 :(得分:3)

尝试:

[[self class] description]