状态栏高度等宏常量

Mil*_*0R3 2 macros objective-c ios

我知道如何使用C定义常量和宏.有没有办法在Objective-C中定义一个常量,如下所示:

#define STATUSBAR_HEIGHT [UIApplication sharedApplication].statusBarFrame.size.height
Run Code Online (Sandbox Code Playgroud)

Sri*_*aju 5

是的,几乎就是这样.例如,你想打开一个网址然后 -

#define OPEN_URL(urlString) [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:urlString]]
Run Code Online (Sandbox Code Playgroud)

把它放在一个像这样的文件中,utils.h并导入该宏的头文件可用.但是在大型代码库中导入每个文件会很#ifdef __OBJC__烦人,您可以在AppName-Prefix.pch 的部分中声明一个全局宏.现在你不需要导入每个文件......

  • 注意_value_不是常数非常重要.宏只是对源代码的重写.在运行时,所有这些方法调用仍然会发生,并且宏的值可能在每次使用时都不同. (2认同)