iOS开发--Swift RAC响应式编程
2016-03-05 17:53
399 查看
时间不是很充足, 先少说点, 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)
}
}
这篇文章就不太针对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)
}
}
相关文章推荐
- OC Swift 混编
- iOS - Swift - 语法糖
- swift : NSData数据类型与String字符串类型的转换方法
- swift空间位置,大小改变的动画效果
- swift之自定义表格控件(UITableView)
- swift 调用第三方的oc 方法
- Swift - 时间控制器NSTimer(每隔一定时间执行某个函数)
- Swift 继承Inheritance
- swift:CoreData简单入门(增加、查询、修改、删除)(详细讲解)
- How to create a pure Swift module
- swift基本语法
- Swift 初体验之三(终结篇),实现登陆注册
- iOS3D-Touch开发之Home Screen Quick Actions(Swift)
- Swift 2.0 异常处理--throws
- swift 学习资料网站
- Swift实现自定义AlertView,灵活添加自定义视图到AlertView,可响应事件
- Swift 实践之简单计算器
- Swift 问题
- Swift学习笔记————可选类型(Optional Type)
- Swift 基础学习(闭包)