我正在迁移UIViewController
课程,以便对Swift进行一些培训。我通过桥接头成功地使用了Objective-C代码,但是我需要导入一个包含#define
指令的常量文件。
我在结合Swift和Cocoa和Objective-C(简单宏)中看到以下内容:
简单宏
通常
#define
在C和Objective-C中使用指令定义原始常量的地方,在Swift中使用全局常量代替。例如,常量定义#define FADE_ANIMATION_DURATION 0.35
可以在Swift中使用更好地表达let FADE_ANIMATION_DURATION = 0.35
。因为简单的类似于常量的宏直接映射到Swift全局变量,所以编译器会自动导入C和Objective-C源文件中定义的简单宏。
因此,似乎有可能。我已经将包含常量的文件导入到桥接头文件中,但是我的.swift
文件没有可见性,无法解决。
我应该怎么做才能使我的常量对Swift可见?
更新:
似乎可以使用NSString
常量,但不能使用布尔值:
#define kSTRING_CONSTANT @"a_string_constant" // resolved from swift
#define kBOOL_CONSTANT YES // unresolved from swift