应用程序在访问类中的第一个静态变量时崩溃

时间:2015-12-17 03:01:12

标签: ios swift static-members

我正在使用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()

}

我做错了什么?

1 个答案:

答案 0 :(得分:-1)

将您的代码更改为:

class Settings {

    // MARK: Properties

    static let grayBorderColor: UIColor! = UIColor(red: 0.76, green: 0.76, blue: 0.76, alpha: 1.0)
    static let lightGreenColor: UIColor! = UIColor(red: 0.66, green: 1.0, blue: 0.66, alpha: 1.0)
    static let darkGreenColor: UIColor! = UIColor(red: 0.66, green: 0.0, blue: 0.0, alpha: 1.0)
    static let darkRedColor: UIColor! = UIColor(red: 0.66, green: 0.0, blue: 0.0, alpha: 1.0)
    static let lightRedColor: UIColor! = UIColor(red: 1, green: 0.66, blue: 0.66, alpha: 1.0)
    static let lightGrayColor: UIColor! = UIColor.lightGrayColor()
    static let mediumGrayColor: UIColor! = UIColor.darkGrayColor()

}

您缺少属性类型。如文档中所述,计算属性应具有类型说明符。