最佳答案
我正在迁移一个 UIViewController
类来训练一下 Swift。我通过桥接头成功地使用了 Objective-C 代码,但是我需要导入一个包含 #define
指令的常量文件。
我在 与 Cocoa 和 Objective-C 一起使用 Swift(简单宏)中看到了以下内容:
简单宏
通常使用
#define
指令在 C 和 Objective-C 中定义基本常量,而在 Swift 中使用全局常量。例如,使用let FADE_ANIMATION_DURATION = 0.35
可以更好地用 Swift 表示常量定义#define FADE_ANIMATION_DURATION 0.35
。因为简单的类常量宏直接映射到 Swift 全局变量,编译器自动导入在 C 和 Objective-C 源文件中定义的简单宏。
看来有可能。我已经将包含我的常量的文件导入到桥接头中,但是我的 .swift
文件没有可见性,无法解析。
我该怎么做才能让斯威夫特看到我的常数呢?
更新:
它似乎可以使用 NSString
常量,但不能使用布尔型:
#define kSTRING_CONSTANT @"a_string_constant" // resolved from swift
#define kBOOL_CONSTANT YES // unresolved from swift