成员var初始化在Swift中不起作用

时间:2016-09-06 22:02:22

标签: swift

我有一个类:

class MyBlurredImageView: UIView {
    var myProp: Bool = true
    var blurEffectEnabled: Bool = true

    // ...
}

和子类如:

class MyOtherImageView: MyBlurredImageView {
    // ...
}

在其他地方我使用那个子类:

class MomentBookendCell: UICollectionViewCell {
    @IBOutlet weak var myOtherImageView: MyOtherImageView!
    override func awakeFromNib() {
        super.awakeFromNib()
        myOtherImageView.myProp = false;
    }

    // ...
}

但该行

myOtherImageView.myProp = false;

...因异常而崩溃。当我调试并检查它时,myOtherImageView似乎被分配了,但是myProp被设置为一些非常好的整数值,如-122 - 它永远不会被初始化。

请注意,当我开始输入myImageView.blu时,Xcode会自动填充blurEffectEnabled的其余部分 - 它会确认这是myOtherImageView的属性。

发生了什么事?

1 个答案:

答案 0 :(得分:0)

原来,故事板将myOtherImageView链接到常规的UIImageView故事板元素 - 代码中的类类型已更改,但未更新故事板!

所以某些正确的代码正在运行,而有些没有!