- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大神都在看的RxSwift的完全入坑手册.
大神都在看的RxSwift的完全入坑手册RxSwift 是我在 Github 上关注已久的一个项目,今天花点时间过了一下它的示例代码,感觉很有意思。我主要是通过项目里的 Rx.playground 进行学习和了解的,这种方式确实便捷高效。只需要把文档用 /*: */ 注释即可,直接用 Markdown 编写,简单方便。不过 Xcode7 中这种方式现在还不是很稳定,会有大量的空行,而且有个最大的问题就是阅读到中间然后切到其他文件再切回来的时候,阅读的进度条是从头开始的,并不能记录上次阅读的位置。心累。下面是我的简单笔记,只是把学习过程中的收获记录下来,大部分内容来自于项目内的 playground 。注意!是很大部分!而且操场里图文并茂,很容易理解。所以,各位如果感兴趣,建议 clone 官方项目,跑个操场玩玩。参考文献中罗列了我在学习过程中查阅的相关资料,可以作为补充阅读。SupportCode在进入正题之前,先看下项目里的 SupportCode.swift ,主要为 playground 提供了两个便利函数。一个是 example 函数,专门用来写示例代码的,统一输出 log 便于标记浏览,同时还能保持变量不污染全局: public?func?example(description:?String,?action:?()?-?())?{?????print(\n---?\(description)?example?---)?????action()?}?另一个是 delay 函数,通过 dispatch_after 用来演示延时的: public?func?delay(delay:Double,?closure:()-())?{?????dispatch_after(?????????dispatch_time(?????????????DISPATCH_TIME_NOW,?????????????Int64(delay?*?Double(NSEC_PER_SEC))?????????),?????????dispatch_get_main_queue(),?closure)?}?Introduction主要介绍了 Rx 的基础: Observable 。 ObservableElement 是观察者模式中被观察的对象,相当于一个事件序列 (GeneratorType) ,会向订阅者发送新产生的事件信息。事件信息分为三种:.Next(value) 表示新的事件数据。.Completed 表示事件序列的完结。.Error 同样表示完结,但是代表异常导致的完结。(打个岔:协议命名,想起来上午汤哥在微博说的一段话:另外,我觉得 protocol 名字用形容词会更加语义分明,比如 Swift : Flyable, Killable, Visible。全用名词的话显得比较生硬,比如 Swift : Head, Wings, Ass。emptyempty 是一个空的序列,它只发送 .Completed 消息。 example(empty)?{?????let?emptySequence:?ObservableInt?=?empty()??????let?subscription?=?emptySequence?????????.subscribe?{?event?in?????????????print(event)?????????}?}??---?empty?example?---?Completed?nevernever 是没有任何元素、也不会发送任何事件的空序列。 example(never)?{?????let?neverSequence:?ObservableString?=?never()??????let?subscription?=?neverSequence?????????.subscribe?{?_?in?????????????print(This?block?is?never?called.)?????????}?}??---?never?example?---?justjust 是只包含一个元素的序列,它会先发送 .Next(value) ,然后发送 .Completed 。 example(just)?{?????let?singleElementSequence?=?just(32)??????let?subscription?=?singleElementSequence?????????.subscribe?{?event?in?????????????print(event)?????????}?}??---?just?example?---?Next(32)?Completed?sequen
您可能关注的文档
最近下载
- 项目一集控运行职业岗位认知课件.pptx VIP
- Nordic 系列:nRF52840 (基于 Cortex-M4)_(25).nRF52840的硬件测试.docx VIP
- Nordic 系列:nRF52840 (基于 Cortex-M4)_(16).nRF52840的硬件设计指南.docx VIP
- 医疗器械说明书:迈瑞麻醉机WATO+EX-55,65_使用说明书V_1.1中文.pdf
- GMC96B钢轨打磨列车手册.pdf VIP
- 南京三合宅课件.ppt VIP
- 猩红热护理查房.pptx VIP
- 中国肺血栓栓塞症诊治、预防和管理指南(2025版).pptx
- 2025年高考数学全国新课标Ⅰ卷试卷评析及备考策略(课件).pptx VIP
- 医疗器械 质量手册 ISO 13485 QRS 820 (通过FDA、NMPA、CE的审批 版.pdf VIP
文档评论(0)