一种iOS端响应式开发框架的搭建方法技术

技术编号:24205166 阅读:18 留言:0更新日期:2020-05-20 14:21
本发明专利技术特别涉及一种iOS端响应式开发框架的搭建方法。该iOS端响应式开发框架的搭建方法,首先创建IIRXCore核心类,即基础的类对象定义,然后创建IIRXComponent组合组件,最后创建IIRXComponent过滤与变换组件。该iOS端响应式开发框架的搭建方法,不仅使MVVM在iOS平台得到了更好的应用,数据源的双向、单向绑定更加简洁,还降低了原本响应式开发框架的学习成本,同时又提高了UI控件代码的内聚性,提升了UI层代码的可维护性,简化了原本代码调试的难度,减少了系统函数、库函数等非开发人员编写的代码在堆栈中的层数。

A construction method of IOS responsive development framework

【技术实现步骤摘要】
一种iOS端响应式开发框架的搭建方法
本专利技术涉及计算机应用
,特别涉及一种iOS端响应式开发框架的搭建方法。
技术介绍
随着移动端业务量的增长,移动端APP的代码量也在呈指数倍的增长。为了解决此问题技术人员引入了MVVM框架,提高代码的可复用性与可维护性。然而,iOS原生解决方案(Closure&Block)并不能很好的支持MVVM,同时为了提高iOS代码中UI控件的代码聚合度,提高可维护性,降低使用难度,急需一种响应式开发框架来解决此问题。但是现有的响应式开发框架如ReactiveCocoa、RxSwfit概念复杂,数学模型复杂,造成了学习成本高、调试成本高。针对上述情况,本专利技术提出了一种iOS端响应式开发框架的搭建方法。
技术实现思路
本专利技术为了弥补现有技术的缺陷,提供了一种简单高效的iOS端响应式开发框架的搭建方法。本专利技术是通过如下技术方案实现的:一种iOS端响应式开发框架的搭建方法,其特征在于:包括以下步骤:第一步,创建IIRXCore核心类,即基础的类对象定义通过使用双向链表数据结构来替换原本双向通知的方式,构建基本的数据对象与结构;所述基础的类对象定义包括观察者(Observer),被观察者(Observable)和发布者(Publisher);第二步,创建IIRXComponent组合组件定义Combine,Zip和Merge类关键字;通过Combine、Zip和Merge三个关键字可以将原本多项被观察者(Observable)者合并为一个被观察者(Observable);第三步,创建IIRXComponent过滤与变换组件定义Filter,Skip,Map,FlatMap和GroupBy类关键字,通过此类关键字可以将事件流中的事件进行过滤、迭代处理、压缩迭代处理。所述被观察者(Observable)是一个作为事件链的源(链表的表头)的链表节点对象,可以将事件发送给观察者(Observer);且被观察者(Observable)可以被一个或者多个观察者(Observer)监听,它维护一个观察者(Observer)清单,当被观察者(Observable)有新的数据源时,遍历观察者(Observer)清单,发送事件给每一个观察者(Observer)。所述观察者(Observer)是一个作为事件链的接受方(链表的尾巴)的链表节点对象,用于接收被观察者(Observable)发送的事件;同时观察者(Observer)需要维护一个父节点,也就是观察者(Observer)需要监听的事件的发送方;在当前节点销毁时,观察者(Observer)需要解除与被观察者(Observable)的引用关系。所述发布者(Publisher)是双向链表的中间节点,既可以作为观察者(Observer)也可以被看做被观察者(Observable);发布者(Publisher)作为一个观察者(Observer),维护了一个父节点信息,用来接收事件;同时作为一个被观察者(Observable),发布者(Publisher)维护了一个观察者(Observer)清单,当发布者(Publisher)接收到信息时,遍历清单发送事件给每一个观察者(Observer)。所述关键字Merge、Zip和Combine可以将多个被观察者的事件流合并为一个事件流发出;同时单独创建一种发布者(Publisher)节点类型,该类型节点维护了一个被观察者清单(父节点个数大于1的特殊的观察者),当任意的父节点发出了事件信息,该类型节点都会按照特定规则将事件信息信号发送给下一个节点。所述第三步中,通过过滤将不需要的事件源分离;通过迭代遍历每一个事件进行特殊操作;通过压缩迭代处理将事件源为数据流格式的压缩为单个数据源信息。所述关键字Filter通过设定过滤块(block)来实现,入参为原始事件,返回一个自定义类型的函数体;所述关键字Map与关键字Filter类似,定义一个块(block),按照一定规则将事件入参传出。所述关键字Skip用于跳过源序列的前N个事件。当关键字Map对事件对象进行升维操作,传出的是以数据流为事件的源时,所述关键字FlatMap将这种数据流对象压缩为简单的一维事件。所述关键字GroupBy按照规则将事件进行分组操作。本专利技术的有益效果是:该iOS端响应式开发框架的搭建方法,不仅使MVVM在iOS平台得到了更好的应用,数据源的双向、单向绑定更加简洁,还降低了原本响应式开发框架的学习成本,同时又提高了UI控件代码的内聚性,提升了UI层代码的可维护性,简化了原本代码调试的难度,减少了系统函数、库函数等非开发人员编写的代码在堆栈中的层数。附图说明附图1为本专利技术IIRXCore核心示意图。附图2为本专利技术IIRXComponent组合组件示意图。具体实施方式为了使本
的人员更好的理解本专利技术中的技术方案,下面将结合本专利技术实施例,对本专利技术实施例中的技术方案进行清楚,完整的描述。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。该iOS端响应式开发框架的搭建方法,包括以下步骤:第一步,创建IIRXCore核心类,即基础的类对象定义通过使用双向链表数据结构来替换原本双向通知的方式,构建基本的数据对象与结构;所述基础的类对象定义包括观察者(Observer),被观察者(Observable)和发布者(Publisher);第二步,创建IIRXComponent组合组件定义Combine,Zip和Merge类关键字;通过Combine、Zip和Merge三个关键字可以将原本多项被观察者(Observable)者合并为一个被观察者(Observable);第三步,创建IIRXComponent过滤与变换组件定义Filter,Skip,Map,FlatMap和GroupBy类关键字,通过此类关键字可以将事件流中的事件进行过滤、迭代处理、压缩迭代处理。所述被观察者(Observable)是一个作为事件链的源(链表的表头)的链表节点对象,可以将事件发送给观察者(Observer);且被观察者(Observable)可以被一个或者多个观察者(Observer)监听,它维护一个观察者(Observer)清单,当被观察者(Observable)有新的数据源时,遍历观察者(Observer)清单,发送事件给每一个观察者(Observer)。所述观察者(Observer)是一个作为事件链的接受方(链表的尾巴)的链表节点对象,用于接收被观察者(Observable)发送的事件;同时观察者(Observer)需要维护一个父节点,也就是观察者(Observer)需要监听的本文档来自技高网
...

【技术保护点】
1.一种iOS端响应式开发框架的搭建方法,其特征在于,包括以下步骤:/n第一步,创建IIRXCore核心类,即基础的类对象定义/n通过使用双向链表数据结构来替换原本双向通知的方式,构建基本的数据对象与结构;所述基础的类对象定义包括观察者,被观察者和发布者;/n第二步,创建IIRXComponent组合组件/n定义Combine,Zip和Merge类关键字;通过Combine、Zip和Merge三个关键字可以将原本多项被观察者者合并为一个被观察者;/n第三步,创建IIRXComponent过滤与变换组件/n定义Filter,Skip,Map,FlatMap和GroupBy类关键字,通过此类关键字可以将事件流中的事件进行过滤、迭代处理、压缩迭代处理。/n

【技术特征摘要】
1.一种iOS端响应式开发框架的搭建方法,其特征在于,包括以下步骤:
第一步,创建IIRXCore核心类,即基础的类对象定义
通过使用双向链表数据结构来替换原本双向通知的方式,构建基本的数据对象与结构;所述基础的类对象定义包括观察者,被观察者和发布者;
第二步,创建IIRXComponent组合组件
定义Combine,Zip和Merge类关键字;通过Combine、Zip和Merge三个关键字可以将原本多项被观察者者合并为一个被观察者;
第三步,创建IIRXComponent过滤与变换组件
定义Filter,Skip,Map,FlatMap和GroupBy类关键字,通过此类关键字可以将事件流中的事件进行过滤、迭代处理、压缩迭代处理。


2.根据权利要求1所述的iOS端响应式开发框架的搭建方法,其特征在于:所述被观察者是一个作为事件链的源的链表节点对象,可以将事件发送给观察者;且被观察者可以被一个或者多个观察者监听,它维护一个观察者清单,当被观察者有新的数据源时,遍历观察者清单,发送事件给每一个观察者。


3.根据权利要求1所述的iOS端响应式开发框架的搭建方法,其特征在于:所述观察者是一个作为事件链的接受方的链表节点对象,用于接收被观察者发送的事件;同时观察者需要维护一个父节点,也就是观察者需要监听的事件的发送方;在当前节点销毁时,观察者需要解除与被观察者的引用关系。


4.根据权利要求1所述的iOS端响应式开发框架的搭建方法,其特征在于:所述发布者是双向链表的中间节点,既可以作为观察者也可以被看做被观察者;发布者作为一个观察者,维护了一个父节点信息...

【专利技术属性】
技术研发人员:单文政
申请(专利权)人:山东浪潮通软信息科技有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1