无法设置UIView类的属性

时间:2017-02-07 11:33:10

标签: ios swift uiview

我有一个UIView课程:

class FlashCard: UIView {

var linkedMemory: Memory? {
    didSet {
        frontView = showContent(of: linkedMemory!.front)
        backView = showContent(of: linkedMemory!.back)
    }
}
var frontView = UIView()
var backView = UIView()

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    setupView()
}

func showContent(of linkedMemory: Any) -> UIView {
    var contentView = UIView()
    if let image = linkedMemory as? UIImage {
        let imageView = UIImageView()
        imageView.image = image
        contentView = imageView
    }
    if let text = linkedMemory as? String {
        let label = UILabel()
        label.centerYAnchor.constraint(equalTo: self.centerYAnchor).isActive = true
        label.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true
        label.text = text
        contentView = label
    }
    return contentView
}

}

我正在尝试在包含此视图的视图控制器中设置其linkedMemory属性:

@IBOutlet weak var flashCardView: FlashCard!

override func viewDidLoad() {
    calcGroupFamiliarity()
    flashCardView.linkedMemory = Memory(masteryLevel: 1, algorithm: Algorithm.algorithm1.chooseAlgorithm(), forgetRatio: 0, lastStudyTime: Date(), front: #imageLiteral(resourceName: "Ideas-Blue"), back: #imageLiteral(resourceName: "Ideas-Yellow"))
    // See? I'm trying to change flashCardView's property here, but it never changes :(
}

有人知道如何解决这个问题吗?

0 个答案:

没有答案