Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.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/17.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 Swift-如何将两个独立类中的变量配对?_Ios_Swift - Fatal编程技术网

Ios Swift-如何将两个独立类中的变量配对?

Ios Swift-如何将两个独立类中的变量配对?,ios,swift,Ios,Swift,假设我们有两个类A和B。A是非特殊类,B是ViewController的子类 如何使B实例变量等于A实例变量 类不能保存B的实例,B也不能保存A的实例 我想要实现的确切目标是,将B类变量更新为A类变量的值 委派是不可能的,因为没有一个类持有另一个的实例。 我应该如何处理这样的问题?KVO?我读到,由于它的缺陷,不应该使用它。如果两个类都不能持有对另一个类的引用,那么它们都需要持有对第三个类的对象的引用,该对象持有实际值。A和B中的属性需要引用C中的相应属性: KVO或NSNotificatio

假设我们有两个类A和B。A是非特殊类,B是ViewController的子类

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

类不能保存B的实例,B也不能保存A的实例

我想要实现的确切目标是,将B类变量更新为A类变量的值

委派是不可能的,因为没有一个类持有另一个的实例。
我应该如何处理这样的问题?KVO?我读到,由于它的缺陷,不应该使用它。

如果两个类都不能持有对另一个类的引用,那么它们都需要持有对第三个类的对象的引用,该对象持有实际值。
A
B
中的属性需要引用
C
中的相应属性:


KVO
NSNotification
是您的选择。考虑使用一个LIB,例如

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
    }
}