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

29 iphone cocoa-touch uikit

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

小智 64

在Mac上,您可以使用:

NSString *className = [self className];
Run Code Online (Sandbox Code Playgroud)

要么

NSString *className = NSStringFromClass([self class]);
Run Code Online (Sandbox Code Playgroud)

在iPhone上,[self className]不存在,所以你必须使用:

NSString *className = NSStringFromClass([self class]);
Run Code Online (Sandbox Code Playgroud)


Jak*_*ake 10

NSLog(@"%@",[self className]);
Run Code Online (Sandbox Code Playgroud)

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

NSLog(@"%@", NSStringFromClass([self class]));
Run Code Online (Sandbox Code Playgroud)

..相反.