Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.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
Swift 斯威夫特,有没有可能让反应可可为协议工作_Swift_Reactive Cocoa - Fatal编程技术网

Swift 斯威夫特,有没有可能让反应可可为协议工作

Swift 斯威夫特,有没有可能让反应可可为协议工作,swift,reactive-cocoa,Swift,Reactive Cocoa,我认为如果代码是接口驱动器就好了 那么,如何在swift中使ReactiveCocoa为协议工作呢? e、 g RACObserve构建在KVO之上,因此要使其工作,name需要是可观察的键值。默认情况下,Swift中的对象不符合KVO 您可以通过从NSObject继承来添加KVO遵从性: class Foo : NSObject, SomeBody { var name: String = "" } 或使个人财产可见: class Foo : SomeBody { dynam

我认为如果代码是接口驱动器就好了
那么,如何在swift中使ReactiveCocoa为协议工作呢? e、 g


RACObserve
构建在KVO之上,因此要使其工作,name需要是可观察的键值。默认情况下,Swift中的对象不符合KVO

您可以通过从
NSObject
继承来添加KVO遵从性:

class Foo : NSObject, SomeBody {
    var name: String = ""
}
或使个人财产可见:

class Foo : SomeBody {
    dynamic var name: String = ""
}
顺便说一句,没有办法通过协议定义来强制执行这种行为,只能在单个实现中支持它

class Foo : SomeBody {
    dynamic var name: String = ""
}