当前位置: 首页 > 面试题库 >

为什么.pch文件无法迅速使用?

慕仲渊
2023-03-14
问题内容

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

谁能给我建议怎么做,在哪里申报?

快速还有其他文件替换为Prefix.pch文件吗?


问题答案:

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

#define NAVIGATIONBAR_COLOR @"5B79B1"

这将是作为一个分类方法更好UIColor,例如

+ (UIColor *) navigationBarColor {
    return [UIColor colorWith...];
}

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

BOOL isIPad() {
    return ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad);
}

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

[UIDevice isIPad]

定义为

+ (BOOL)isIPad {
   return ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad);
}

预先编译的标头绝不是要向所有代码共享宏。它们被制成在其中包含框架标头以加快编译过程。随着去年模块的引入,现在可以创建自定义模块,您不再需要预编译的头文件。

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



 类似资料:
  • 问题内容: 我有一个尝试转换为Swift 3的Gradient类,但是出现以下错误 迅速无法使用“ CGPointMake” 对于 任何人都可以帮我解决我可以代替的东西 这是全班; 问题答案: 您可以迅速创建一个快捷方式。因此,将您更改为

  • 问题内容: 我有那个代码 有时,强制转换为无效。当我看到。为什么会这样呢?我使用来自GitHub的SwiftSocket库。对不起我的英语不好。 当我的服务器发送大字符串时会发生这种情况。例如- 如果我收到一个消息对象(我的班级)-一切都会正常。但是,如果我收到4,5,6,…消息对象(我的班级),这有时会起作用。MAGIC :( 新版本的代码 问题答案: 注意:我不会讲Swift。以下代码可能无法

  • 问题内容: 在Swift编程中,我发现对象带有一些问号。 有人可以解释它的用法吗? 问题答案: 您可以使用和一起使用可能缺少的值。这些值表示为。一个 值或者包含值或含有指示该值缺失。在值的类型后写一个问号(?),以将该值标记为。 如果可选值为,则条件为,并且括号中的代码将被跳过。否则,将解压缩可选值,并将其分配给之后的常量,这将使解压缩后的值在代码块内可用。 摘录自:苹果公司“ The Swift

  • 输入是一个名为Wiki micro的文本文件。txt。。。字数计算程序运行正常。。我需要的是修改它 }

  • 问题内容: 我通常会隐藏状态栏 但是Xcode给我一个错误,说“方法不会覆盖 其超类中的任何内容”。 如果我删除override,则Xcode会给出另一个错误:“ 带有Objective-C选择器’prefersStatusBarHidden’的方法’prefersStatusBarHidden()’与 具有相同Objective-C选择器的 超类 ‘UIViewController’的gette

  • 我是Swift新手,这段代码给了我一个错误,尽管它没有文本,但它还是通过了“lastname!=nil”。 线程1:致命错误:在展开一个可选值时意外地找到nil 我很困惑,不知道为什么验证不起作用