迅速,没有提供Prefix.pch文件。在我的项目中,我想全局声明一些宏并在整个应用程序中使用。
谁能给我建议怎么做,在哪里申报?
快速还有其他文件替换为Prefix.pch文件吗?
即使在Obj-C中,也不应该使用宏作为常量和表达式。以您的评论为例:
#define NAVIGATIONBAR_COLOR @"5B79B1"
这将是作为一个分类方法更好UIColor,例如
UIColor
+ (UIColor *) navigationBarColor { return [UIColor colorWith...]; }
的isPad宏应该是一个普通的函数
isPad
BOOL isIPad() { return ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad); }
或再次使用类别方法,例如 UIDevice
UIDevice
[UIDevice isIPad]
定义为
+ (BOOL)isIPad { return ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad); }
预先编译的标头绝不是要向所有代码共享宏。它们被制成在其中包含框架标头以加快编译过程。随着去年模块的引入,现在可以创建自定义模块,您不再需要预编译的头文件。
在Swift中,情况是一样的-没有标头,也没有宏,因此也没有预编译的标头。请改用扩展名,全局常量或单例。