Swift - 如何配对来自两个独立类的变量?

时间:2016-08-31 15:16:33

标签: ios swift

想象一下,我们有两个类A和B. A是非特定类,B是ViewController的子类

如何使B实例变量等于实例变量?

一个类不能保存B的实例,并且相互B不能保存A的实例。

我想要实现的确切事实是B类变量更新为A类变量的值。

委托是不可能的,因为没有一个类拥有另一个实例。 我该怎么办?志愿?我读到它不应该因为它的缺陷而被使用。

2 个答案:

答案 0 :(得分:1)

如果两个类都不能保存对另一个类的引用,则它们都需要保存对第三个类的对象的引用,该对象保存实际值。 AB中的属性需要引用C中的相应属性:

Diagram

class C {
    var prop : String = "hello"
}
class A {
    var prop : String {
        get { return c.prop }
        set(v:String) { c.prop = v }
    }
    let C:c
    init(c:C) {
        self.c = c
    }
}
class B : NSViewController {
    var prop : String {
        get { return c.prop }
        set(v:String) { c.prop = v }
    }
    let C:c
    init(c:C) {
        self.c = c
    }
}

答案 1 :(得分:0)

KVONSNotification是您的选择。考虑使用诸如KVOController

之类的lib

Try to read it