【发布时间】:2015-12-17 03:01:12
【问题描述】:
我正在使用 Swift 构建一个 iPhone 应用程序。我创建了一个 Settings 类并在其中声明了一些静态变量,用于存储颜色。但是,每当我尝试访问我声明的第一个变量(例如下面的 Settings.grayBorderColor)时,应用程序就会崩溃(带有一些关于 Settings.grayBorderColor.unsafeMutableAddressor 的消息)。我可以访问第一个之下的任何属性就好了,如果我切换属性/变量的顺序,它仍然会访问首先声明的导致崩溃的任何属性。
class Settings {
// MARK: Properties
static let grayBorderColor = UIColor(red: 0.76, green: 0.76, blue: 0.76, alpha: 1.0)
static let lightGreenColor = UIColor(red: 0.66, green: 1.0, blue: 0.66, alpha: 1.0)
static let darkGreenColor = UIColor(red: 0.66, green: 0.0, blue: 0.0, alpha: 1.0)
static let darkRedColor = UIColor(red: 0.66, green: 0.0, blue: 0.0, alpha: 1.0)
static let lightRedColor = UIColor(red: 1, green: 0.66, blue: 0.66, alpha: 1.0)
static let lightGrayColor = UIColor.lightGrayColor()
static let mediumGrayColor = UIColor.darkGrayColor()
}
我做错了什么?
【问题讨论】:
-
你可以尝试重命名第一个吗?
-
如果我重命名它仍然会崩溃。我的意思是,例如,如果我将 darkGreenColor 更改为第一个变量/属性,那么 Settings.darkGreenColor 会导致崩溃,而不是 settings.grayBorderColor。似乎任何属性首先总是崩溃。
-
可能是 Xcode 的 bug,你的代码是对的。
-
发布 Xcode 抛出的完整错误
-
没有真正的错误,它只是崩溃并说“(lldb)”。但是在Thread列表下,第一项是:“0 Settings.grayBorderColor.unsafeMutableAddressor”
标签: ios swift static-members