当前位置: 首页 > news >正文

用网站做简历/加强服务保障满足群众急需ruu7

用网站做简历,加强服务保障满足群众急需ruu7,教您如何找专业网站制作公司,深圳建筑RxSwift - 入门介绍 什么是Rx 如果是iOS程序员,那么大家肯定熟悉action-target模式、delegate模式或者通知(notification),这些模式基本都是用来解决事件响应的问题,action-target就不用说了,UIButton就是基…

RxSwift - 入门介绍

什么是Rx

如果是iOS程序员,那么大家肯定熟悉action-target模式、delegate模式或者通知(notification),这些模式基本都是用来解决事件响应的问题,action-target就不用说了,UIButton就是基于这个模式来响应事件的,delegate也是一样的,比如说UIAlertViewDelegate,这个协议定义了很多UIAlertView事件响应的回调方法,Notification有点区别,它是采用订阅-通知的方式,并且可以有多个响应的对象。

Rx全名是ReactiveX,是一个函数响应式框架,遵循Functional Reactive Programming(FRP)的设计规范,它把事件封装成信号流,并采用观察者模式来实现。

例子(HelloWorld!)

先来看个简单的例子,这里是demo工程,下载到本地,用XCode打开,点击按钮的时候,可以看到输出了"HelloWorld!",打开RxSwiftViewController文件,看按钮响应的那段代码。

@objc func onClicked(_ sender: Any?) {let observable = Observable<String>.create { (observer) -> Disposable inobserver.on(Event.next("HelloWorld!"))observer.onCompleted()return Disposables.create()}let disposeBag = DisposeBag()observable.subscribe(onNext: { (str) inprint(str)}, onError: { (error) in}, onCompleted: {}).disposed(by: disposeBag)}

在方法里面先定义了一个Observable对象,这个叫可观察序列(后面会解释),这个对象是可以订阅的,相当于观察者模式中的被观察者,subscribe便是它的订阅方法,当调用subscribe的时候,会触发observer.on(Event.next("next"))和observer.onCompleted()的执行,并且会在onNext和onCompleted中响应,所以就打印出了"HelloWorld!"。

这里是最简单的情况,实际运用中会碰到更复杂的情况,不过别当心,先把简单的理解透了,复杂的就好理解了。

可观察序列(Observable)

可观察序列,也就是能发送一些事件流的事物,什么是事件流?最常见的按钮的连续点击便是一个事件流。

可观察序列可以发送三种类型的事件:1、发送数据(Next),2、遇到问题(Error),3、发送完成(Completed)。比如上面的例子,observable发送了一个Next事件“observer.on(Event.next("HelloWorld!"))”以及一个Completed事件“observer.onCompleted()”。当遇到错误的时候,还可以发送Error事件。

事件的定义如下,是个枚举

public enum Event<Element> {/// Next element is produced.case next(Element)/// Sequence terminated with an error.case error(Swift.Error)/// Sequence completed successfully.case completed
}

观察者

观察者可以订阅序列的事件。比如上面的代码里的subscribe。原型如下:

func subscribe(onNext: ((Self.E) -> Swift.Void)? = default, onError: ((Error) -> Swift.Void)? = default, onCompleted: (() -> Swift.Void)? = default, onDisposed: (() -> Swift.Void)? = default) -> Disposable

订阅的时候把对应的响应放进对应的闭包里。

订阅的序列有两种类型:

  1. 冷序列:只有观察者订阅这个序列的时候,才会发送事件,比如上面代码中Observable。
  2. 热序列:不管有没有观察者订阅,都会发送事件,比如按钮的点击,不管有没有观察者,只要用户点击了,都会发送点击事件。

总结

Rx其实很简单,就是一个观察者模式的应用,Observable发送事件,observer订阅事件,收到相应的事件作出相应的处理。

http://www.lbrq.cn/news/1327753.html

相关文章:

  • 网站建设联/湖南靠谱关键词优化
  • 可以做哪些网站/搜狗竞价
  • 大学生简历免费制作网站/推广引流平台app大全
  • 在那些网站做宣传更好/厦门人才网唯一官网
  • 万网的网站建设/天津关键词优化网排名
  • 北京疫情宣布解除时间/郑州靠谱seo整站优化
  • 网站建设 模块/惠州百度seo在哪
  • 游戏推广平台代理加盟/六年级上册数学优化设计答案
  • 个体搞网站建设 经营范围/独立站谷歌seo
  • 做网站的用途/企业微信会话存档
  • 免费手机图片编辑器/seo每日一贴
  • 做一个网站后期维护需要做什么/海南seo顾问服务
  • 做网站需要企业/网站文章优化技巧
  • 企业网站界面 优帮云/seo查询源码
  • 北京市网站开发/关键词app
  • 美国纽约网站建设费用/网站热度查询
  • 网站赚取广告费/徐州seo顾问
  • ssm框架做电影网站/农业推广
  • 美工首页设计/宁波优化推广选哪家
  • 推广网站企业/360搜索引擎的特点
  • 做木马的网站/怎样和政府交换友链
  • 网站的页面设计/个人网站设计作品
  • 汕头建设局网站/潍坊seo推广
  • 敦煌网站做外贸怎样/福州网站开发公司
  • 绍兴网络公司网站建设/百度网盘下载速度
  • 幼儿园网站建设总结/简述seo的基本步骤
  • 中国建设教育网站/google下载安装
  • 电子商务网站建设与管理期末考试题/n127网推广
  • 做公众号必了解的网站/搜索引擎关键词排名
  • 给被k的网站做友链/做网站推广需要多少钱
  • SpringMVC的高级特性
  • S7-1200 /1500 PLC 进阶技巧:组织块(OB1、OB10)理论到实战
  • 标准项目-----网页五子棋(4)-----游戏大厅+匹配+房间代码
  • 蓝桥杯----DA、AD
  • 异常检测:算法分类及经典模型概览
  • 国内好用的智能三防手机,适合户外、工业、公共安全等场景