Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIButton子类中的自定义属性未初始化_Ios_Swift_Uikit - Fatal编程技术网

Ios UIButton子类中的自定义属性未初始化

Ios UIButton子类中的自定义属性未初始化,ios,swift,uikit,Ios,Swift,Uikit,我有一个子类UIButton(TTDayButton),我用一个自定义属性(variant)初始化它。但是,即使我在初始化TTDayButton的新实例的代码中向其传递值,自定义变量属性仍然保持为零。 我错过了什么?谢谢 class TTDayButton: UIButton { var variant: SFDays? override init(frame: CGRect) { super.init(frame: frame) configure() } require

我有一个子类UIButton(TTDayButton),我用一个自定义属性(variant)初始化它。但是,即使我在初始化TTDayButton的新实例的代码中向其传递值,自定义变量属性仍然保持为零。 我错过了什么?谢谢

class TTDayButton: UIButton {

var variant: SFDays?

override init(frame: CGRect) {
    super.init(frame: frame)
    configure()
}

required init?(coder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

convenience init(variant: SFDays) {
    self.init(frame: .zero)
    self.variant = variant
    configure()
} 

//some functions that use variant to configure the button accordingly. 
//crashes here because variant is nil.

}
编辑:添加SFDays的附加代码

enum SFDays: String {
case m = "m.circle"
case t = "t.circle"
case w = "w.circle"
case f = "f.circle"
case s = "s.circle"
}    
…还有TTDayButton实例在我的VC上初始化的方式

let testButton = TTDayButton(variant: .m)

我发现你的代码没有问题。。。是否确实要将非null变量传递给此button类?请确保使用的是
init(variant:)
。是的,在使用位置我有:let testButton=TTDayButton(variant:.m)“.m”作为SFDays枚举的一种情况。这就是让我困惑的是它仍然不起作用。你的代码很好,当我尝试时没有发现崩溃,也许你可以给我你的完整代码?@DanielŠlechta崩溃的原因是什么?我在你的代码中没有发现问题。。。是否确实要将非null变量传递给此button类?请确保使用的是
init(variant:)
。是的,在使用位置我有:let testButton=TTDayButton(variant:.m)“.m”作为SFDays枚举的一种情况。让我困惑的是,它仍然不起作用。你的代码很好,我尝试时没有发现崩溃,也许你可以给我你的完整代码?@DanielŠlechta崩溃的原因是什么?