接下来一段时间项目要完全转型swift,在真正做项目之前先了解了一些swift基本语法,也做了一些小demo,整体感受很不错。本篇会简单介绍下函数响应式编程思想
首先介绍下我们开发中常用的一些编程思想
1.面向过程编程&面向对象编程
在实际的编程中有两种应用比较广泛的思想,面向过程和面向对象。
区别:
面向过程注重的是通过代码一步步实现业务逻辑.
面向对象更注重的是将编程过程中的属性和方法分离,使用构造函数创建相应的对象,并且添加原型方法实现相同的编程业务逻辑。
2.链式编程思想
通过.语法将多个操作或者多行代码链接成一句话,可读性强。
必须两个常用的第三方库:
OC中的masnory
[_testView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.equalTo(self.view);
make.top.equalTo(self.view).offset(topOffset);
make.height.mas_equalTo(0);
}];
Swift中的SnapKit
timeLabel.snp.makeConstraints { (make) in
make.left.equalTo(self).offset(10)
make.bottom.equalTo(self).offset(-10)
make.size.equalTo(CGSize(width: 100, height: 20))
}
3.函数式编程
函数式编程是种编程方式,它将电脑运算视为函数的计算。
和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。
和过程化编程相比,函数式编程里函数的计算可随时调用。
操作尽量写成一系列嵌套的函数或者方法调用。
举个简单的例子,y = f(x);然后我们再另x = f(x)
那么我们可以通过嵌套得出 y = f(f(x));
当然我们也可以在oc中通过block回调来做一些更方便的事情,使代码更加容易管理。
4.响应式编程
响应式编程的关键在于:将异步可观察序列对象模型化。
不需要考虑调用顺序,只需要知道考虑结果,类似于蝴蝶效应,产生一个事件,会影响很多东西,这些事件像流一样的传播出去,然后影响结果,借用面向对象的一句话,万物皆是流。
例如OC中的KVO,我们可以监听一些对象的某些属性,然后do Something.
函数响应式编程
函数响应式编程的有诸多好处。
函数响应式编程.png
比如我们要实现一个小案例,搜索输入框实时传出text值,我们如果用RxSwift实现,会方便很多。
self.textFiled.rx.text.orEmpty
.subscribe(onNext: { (text) in
print(text)
})
.disposed(by: disposeBag)
RxSwift
下篇将会介绍关于RxSwift基本用法
swift-RxSwift简单使用(一)
网友评论