为什么.pch文件在swift中不可用?

VRA*_*ome 16 swift

在swift中,未提供Prefix.pch文件.在我的项目中,我想在全局声明一些宏并在整个应用程序中使用.

任何人都可以给我建议如何做,在哪里申报?

在swift中是否有任何其他文件被Prefix.pch文件替换?

Sul*_*han 35

即使在Obj-C中,使用宏来表示常量和表达式也是不应该做的.以您的评论为例:

#define NAVIGATIONBAR_COLOR @"5B79B1"
Run Code Online (Sandbox Code Playgroud)

UIColor例如,作为一种类别方法会更好

+ (UIColor *) navigationBarColor {
    return [UIColor colorWith...];
}
Run Code Online (Sandbox Code Playgroud)

isPad宏应该是一个普通的函数

BOOL isIPad() {
    return ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad);
}
Run Code Online (Sandbox Code Playgroud)

或者再次使用类别方法,例如 UIDevice

[UIDevice isIPad]
Run Code Online (Sandbox Code Playgroud)

定义为

+ (BOOL)isIPad {
   return ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad);
}
Run Code Online (Sandbox Code Playgroud)

预编译头文件从未打算与所有代码共享宏.他们在那里包含框架头以加速编译过程.随着去年模块的引入,现在可以创建自定义模块,您不再需要预编译的头文件.

在Swift中,情况是一样的 - 没有头和没有宏,因此也没有预编译的头.请改用扩展,全局常量或单例.