Swift3中的预处理宏

Swift中也可以使用预处理宏,只不过和ObjectiveC有点不一样,下面详细说明一下。

  • Swift中取消了#define,建议使用全局常量替换宏定义
  • Swift中仍然可以使用#if, #elseif, #endif等宏,注意,Swift中是#elseif,而在OC中是#elif。还有#if#elseif后面的判断条件必须是Bool类型的。
1
2
3
4
5
6
7
#if false
print("aaaa")
#elseif true
print("bbbb")
#else
print("cccc")
#endif
  • Swift中取消了__FUNCTION__, __FILE__, __LINE__,分别改为了#function, #file, #line
1
2
3
4
5
6
print(#file)
print(#line)

func function1() {
print(#function)
}