时间不是很充足, 先少说点, RAC的好处是响应式编程, 不需要自己去设置代理委托, target, 而是主要以信息流(signal), block为主, 看到这里激动吧, 它可以帮你监听你的事件, 并通过回调(callback)的形式, 实时更新UI, 其实就是把action, 观察者模式(kvo)加上block, 代理等封装起来统一了接口.
这篇文章就不太针对RAC事件流的初学者了, 我的博客一般都是针对OC转Swift的开发者, 所以这里就简单的写几句先, 以后我再补全加上demo.
在OC中RAC使用时用的是个宏, 然后骂娘的大家都知道Swift取消了宏, 所以假如你习惯了RAC(Rx完全支持swift), 想要使用的话, 自己新建一个文件, 然后加入如下代码就可以了.
public struct RAC {
var target : NSObject!
var keyPath : String!
var nilValue : AnyObject!
init(_ target: NSObject!, _ keyPath: String, nilValue: AnyObject? = nil) {
self.target = target
self.keyPath = keyPath
self.nilValue = nilValue
}
func assignSignal(signal : RACSignal) {
signal.setKeyPath(self.keyPath, onObject: self.target, nilValue: self.nilValue)
}
}