__PRETTY_FUNCTION__和__FUNCTION__在objective-c中的输出一样
时间: 2023-07-21 22:36:36 浏览: 186
ARC探秘:Objective-C中的自动引用计数革命
在Objective-C中,__PRETTY_FUNCTION__和__FUNCTION__宏的输出确实是一样的,都是当前函数的名称字符串。不过,需要注意的是,它们输出的字符串的格式略有不同。
__PRETTY_FUNCTION__宏会输出一个包含函数返回值、函数名和参数类型等信息的字符串,格式如下:
```
返回值类型 函数名(参数类型1, 参数类型2, ...)
```
而__FUNCTION__宏则只会输出函数名字符串,格式如下:
```
函数名
```
因此,如果只需要获取当前函数的名称字符串,可以使用__FUNCTION__宏,如果需要获取更加详细的函数信息,可以使用__PRETTY_FUNCTION__宏。不过,需要注意的是,这些宏都只适用于编译时获取函数信息,无法在运行时动态获取函数信息。如果需要在运行时获取函数信息,可以使用NSInvocation或者NSMethodSignature等Objective-C运行时库提供的API。
阅读全文