【发布时间】:2015-11-04 15:12:58
【问题描述】:
我对 Swift 很陌生。我有一个混合项目,其中一些类在 Objective-C 中,一些是 Swift。我有一个基于 Objective-C 文件的 Constant.h 文件。在这个头文件中提到了一些像下面这样的常量
#define mainViewBgColor [UIColor colorWithRed:248.0/255.0 green:247.0/255.0 blue:247.0/255.0 alpha:1.0]
但问题是我无法在 Swift 类中访问此常量。见下面的 Swift 代码
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = mainViewBgColor //Want to access liek this but this line gives me an error.
self.loadNavigation();
}
请提出正确的方法来访问像这样的常量,特别是在 Objective-C 中写入的常量。
注意:请考虑我有 Bridging-Header.h 文件,并且我已经将常量文件导入到该桥接文件中。即使我可以成功访问简单的字符串常量。
已编辑 替代解决方案:我发现在 swift 中使用常量的替代解决方案是创建新的 swift 常量文件,比如说 SwiftConstant.swift 并在此文件中定义如下常量。
let mainViewBgColor = UIColor(red: 248.0/255.0, green: 247.0/255.0, blue: 247.0/255.0, alpha: 1.0)
现在无需在任何我可以使用常量的地方导入 SwiftConstant.swift 文件。我不知道这是正确的方法还是不希望并等待好的答案。
【问题讨论】:
-
你已经在正确的轨道上。 :) 您的编辑正是我在 Swift 中使用常量的方式。虽然,你不能再称它们为宏了。它们只是 Swift 中的常量
标签: ios objective-c iphone swift constants