Nothing Special   »   [go: up one dir, main page]

CN107656729B - 列表视图的更新装置、方法及计算机可读存储介质 - Google Patents

列表视图的更新装置、方法及计算机可读存储介质 Download PDF

Info

Publication number
CN107656729B
CN107656729B CN201710774990.8A CN201710774990A CN107656729B CN 107656729 B CN107656729 B CN 107656729B CN 201710774990 A CN201710774990 A CN 201710774990A CN 107656729 B CN107656729 B CN 107656729B
Authority
CN
China
Prior art keywords
class
section
cell
protocol
data model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710774990.8A
Other languages
English (en)
Other versions
CN107656729A (zh
Inventor
宫健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OneConnect Smart Technology Co Ltd
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN201710774990.8A priority Critical patent/CN107656729B/zh
Priority to PCT/CN2017/105015 priority patent/WO2019041441A1/zh
Publication of CN107656729A publication Critical patent/CN107656729A/zh
Application granted granted Critical
Publication of CN107656729B publication Critical patent/CN107656729B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种IOS系统中列表视图的更新装置,包括存储器和处理器,存储器上存储有可在处理器上运行的列表视图更新程序,该程序被处理器执行时实现如下步骤:在接收到视图更新指令时,获取cell类和section类的类名字段;从cell类的集合和section类的集合中查找与类名字段对应的cell类和section类,其中,cell类实现预定义的cell协议,section实现预定义的section协议,cell协议包括数据源协议中的cell接口和代理协议中的cell接口,section协议包括数据源协议中的section接口和代理协议中的section接口;根据查找到的cell类和section类更新列表视图。本发明还提出一种IOS系统中列表视图的动态更新方法以及一种计算机可读存储介质。本发明在不发布新版本的客户端的情况下,实现对列表视图的界面效果的更新。

Description

列表视图的更新装置、方法及计算机可读存储介质
技术领域
本发明涉及终端技术领域,尤其涉及一种列表视图的更新装置、方法及计算机可读存储介质。
背景技术
IOS的应用软件开发中经常涉及到列表视图的创建及更新,在实现列表视图时,都是通过IOS系统提供的原生控件UITableView或UICollectionView来实现的,在为UITableView或UICollectionView提供datasource信息和delegate信息后可以实现相应的列表效果。
由于用于显示列表内容的内容显示单元cell是由数据源(datasource)来提供,并在相应的代理(delegate)中处理对应的cell的相应的逻辑,在IOS系统中,需要在回调datasource信息和delegate信息中做很多判断才能为不同的样式来提供不同的cell并处理相应的逻辑。如果列表视图中涉及到的cell的种类有很多,则需要处理大量的逻辑判断,不仅可读性和可维护性低,而且在用户变更需求后,需要对协议中所有的接口实现方法进行更改,以保证逻辑的正确性,因此,若要进行列表视图的样式更新时,需要发布新的软件版本才能够实现。
发明内容
本发明提供一种列表视图的更新装置、方法及计算机可读存储介质,其主要目的在于在不发布新版本的客户端的情况下,实现对列表视图的界面效果的更新。
为实现上述目的,本发明提供一种IOS系统中列表视图的更新装置,该装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的列表视图更新程序,所述列表视图更新程序被所述处理器执行时实现如下步骤:
在接收到视图更新指令时,获取所述视图更新指令对应的数据模型,从所述数据模型中获取cell类和section类的类名字段;
从预先创建的cell类的集合和section类的集合中查找与所述类名字段对应的cell类和section类,其中,cell类实现预定义的cell协议,section实现预定义的section协议,所述cell协议包括UITableView的数据源协议中的cell接口,以及UITableView的代理协议中的cell接口,所述section协议包括所述数据源协议中的section接口和所述代理协议中的section接口;
根据所述数据模型和与所述类名字段对应的cell类和section类更新列表视图。
可选地,接收基于所述UITableView创建的cell类和section类,所述cell类实现预定义的cell协议,所述section类实现预定义的section协议;
获取预先设置的数据源的通用类和代理的通用类,所述数据源的通用类包含cell数据模型的初始二维数组和section数据模型的初始一维数组;
初始化所述cell类和section类,将所述数据源的通用类和代理的通用类对象赋值给所述UITableView的数据源和代理;
将创建的cell类和section类分别添加至cell类的集合和section类的集合中。
可选地,所述根据所述数据模型和与所述类名字段对应的cell类和section类更新列表视图的步骤包括:
组装所述数据模型,以获取cell数据模型的二维数组和section数据模型的一维数组;
将获取的cell数据模型的二维数组和section数据模型的一维数组赋值给所述数据源的通用类,以按照与所述类名字段对应的cell类和section类更新列表视图。
可选地,所述cell接口中包括cell数据源、cell对应的位置以及列表视图对象;所述section接口包括section数据源、section对应的位置以及列表视图对象。
可选地,所述section数据模型的一维数组的个数表示section的个数,所述cell数据模型的二维数组的个数表示section的个数,每个二维数组中一维数组的个数等于该二维数组对应的section下的cell的个数。
此外,为实现上述目的,本发明还提供一种IOS系统中列表视图的动态更新方法,该方法包括:
在接收到视图更新指令时,获取所述视图更新指令对应的数据模型,从所述数据模型中获取cell类和section类的类名字段;
从预先创建的cell类的集合和section类的集合中查找与所述类名字段对应的cell类和section类,其中,cell类实现预定义的cell协议,section实现预定义的section协议,所述cell协议包括UITableView的数据源协议中的cell接口,以及UITableView的代理协议中的cell接口,所述section协议包括所述数据源协议中的section接口和所述代理协议中的section接口;
根据所述数据模型和与所述类名字段对应的cell类和section类更新列表视图。
可选地,所述方法还包括:
接收基于所述UITableView创建的cell类和section类,所述cell类实现预定义的cell协议,所述section类实现预定义的section协议;
获取预先设置的数据源的通用类和代理的通用类,所述数据源的通用类包含cell数据模型的初始二维数组和section数据模型的初始一维数组;
初始化所述cell类和section类,将所述数据源的通用类和代理的通用类对象赋值给所述UITableView的数据源和代理;
将创建的cell类和section类分别添加至cell类的集合和section类的集合中。
可选地,所述根据所述数据模型和与所述类名字段对应的cell类和section类更新列表视图的步骤包括:
组装所述数据模型,以获取cell数据模型的二维数组和section数据模型的一维数组;
将获取的cell数据模型的二维数组和section数据模型的一维数组赋值给所述数据源的通用类,以按照与所述类名字段对应的cell类和section类更新列表视图。
可选地,所述cell接口中包括cell数据源、cell对应的位置以及列表视图对象;所述section接口包括section数据源、section对应的位置以及列表视图对象。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有列表视图更新程序,所述列表视图更新程序可被至少一个处理器执行,以实现如上所述的IOS系统中列表视图的动态更新方法的步骤。
本发明提出的列表视图的更新装置、方法及计算机可读存储介质,预先创建有cell类的集合和section类的集合,在这些集合中的cell类可以实现预定义的cell协议,该cell协议中包含有UITableView的数据源协议中的cell接口,以及UITableView的代理协议中的cell接口,所述section协议包括所述数据源协议中的section接口和所述代理协议中的section接口,将UITableView的数据源和代理的接口在集合中的每一个cell类和section类中实现,在接收到视图更新指令时,获取所述视图更新指令对应的数据模型,从所述数据模型中获取cell类和section类的类名字段,从上述集合中查找到与类名字段对应的cell类和section类,根据数据模型和与查找到的cell类和section类更新列表视图,不需要重新发布新版本的客户端即可实现对列表视图的界面效果进行动态地更新。
附图说明
图1为本发明IOS系统中列表视图的更新装置较佳实施例的示意图;
图2为本发明IOS系统中列表视图的更新装置一实施例中的列表视图更新程序的功能模块示意图;
图3为本发明IOS系统中列表视图的动态更新方法第一实施例的流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种IOS系统中列表视图的更新装置。参照图1所示,为本发明IOS系统中列表视图的更新装置较佳实施例的示意图。
在本实施例中,IOS系统中列表视图的更新装置可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、便携计算机等具有显示功能的终端设备。
该IOS系统中列表视图的更新装置包括存储器11、处理器12,通信总线13,以及网络接口14。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是IOS系统中列表视图的更新装置的内部存储单元,例如该IOS系统中列表视图的更新装置的硬盘。存储器11在另一些实施例中也可以是IOS系统中列表视图的更新装置的外部存储设备,例如IOS系统中列表视图的更新装置上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括IOS系统中列表视图的更新装置的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于IOS系统中列表视图的更新装置的应用软件及各类数据,例如列表视图更新程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行列表视图更新程序等。
通信总线13用于实现这些组件之间的连接通信。
网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置与其他电子设备之间建立通信连接。
图1仅示出了具有组件11-14以及列表视图更新程序的IOS系统中列表视图的更新装置,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,该装置还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在IOS系统中列表视图的更新装置中处理的信息以及用于显示可视化的用户界面。
在图1所示的装置实施例中,存储器11中存储有列表视图更新程序;处理器12执行存储器11中存储的列表视图更新程序时实现如下步骤:
在接收到视图更新指令时,获取所述视图更新指令对应的数据模型,从所述数据模型中获取cell类和section类的类名字段;
从预先创建的cell类的集合和section类的集合中查找与所述类名字段对应的cell类和section类,其中,cell类实现预定义的cell协议,section实现预定义的section协议,所述cell协议包括UITableView的数据源协议中的cell接口,以及UITableView的代理协议中的cell接口,所述section协议包括所述数据源协议中的section接口和所述代理协议中的section接口;
根据所述数据模型和与所述类名字段对应的cell类和section类更新列表视图。
该实施例提供一种IOS系统下不需要发布新的客户端版本,即可实现客户端中的列表视图的更新的方案。在该实施例中,为了简化列表视图中的逻辑判断,实现对列表视图的动态更新,开发人员在进行软件开发时,预先定义好cell协议和section协议,作为后续创建的cell类和section类要实现的预定义cell协议和预定义section协议。
该实施例中,预先定义cell协议,包括定义列表视图的数据源(datasource)和代理(delegate)中所有和cell相关的新接口,新接口包含cell数据源、cell对应的位置以及列表视图对象;所有的cell类实现该协议。预先定义section协议,包括定义列表视图的数据源和代理中所有和section相关的新接口,新接口包含section数据源、section对应的位置以及tableview(列表视图)对象;所有的section实现该协议。
预先建立UITableView的数据源的通用类(CommonDataSource)。该CommonDataSource中包含有cell数据模型的初始二维数组和section数据模型的初始一维数组,并且能够实现UITableView的数据源协议的所有接口。所述section数据模型的一维数组的个数表示section的个数,所述cell数据模型的二维数组的个数表示section的个数,每个二维数组中一维数组的个数等于该二维数组对应的section下的cell的个数。
预先建立UITableView的代理的通用类(CommonDelegate),该CommonDelegate能够实现UITableView的代理协议的所有接口。
用户根据需要的cell样式和section样式创建新的cell类和section类,创建的cell类和section类实现上述预定义的cell协议和section协议。
按照上述方式,用户可以根据需要创建能够实现不同的cell样式和section样式的cell类和section类添加至预设的cell类的集合和section类的集合中。
可选地,在一实施例中,该方法还包括如下步骤:
接收基于所述UITableView创建的cell类和section类,所述cell类实现预定义的cell协议,所述section类实现预定义的section协议;
获取预先设置的数据源的通用类和代理的通用类,所述数据源的通用类包含cell数据模型的初始二维数组和section数据模型的初始一维数组;
初始化所述cell类和section类,将所述数据源的通用类和代理的通用类对象赋值给所述UITableView的数据源和代理;
将创建的cell类和section类分别添加至cell类的集合和section类的集合中。
用户创建新的cell类和section类,继承UITableView,在cell类和sectio n类的初始化中,将CommonDataSource和CommonDelegate对象对应地赋值给UITableView的数据源和代理,此外,用户为创建的每一个cell类和sectio n类命名。
用户如果需要创建新的列表视图,则获取待创建的列表视图的数据模型,组装该数据模型,得到cell的数据模型的二维数组和section数据模型的一维数组,并根据要展示的cell样式和section样式,从上述集合中选择合适的cell类和section类,将数据模型与选择的类的类名字段进行绑定,并且将cell的数据模型的二维数组和section数据模型的一维数组分别对应地赋值给上述建立的数据源的通用类中的初始二维数组和初始一维数组,则实现列表视图的创建,创建的列表视图的样式为其数据模型中的类名字段对应的cell类和section类的所实现的样式。
其中,实现UITableView的数据源协议中的cell相关的接口的方式如下:可以通过cell数据模型的二维数组获取到对应的cell的数据模型,通过数据模型中包含的类名字段找到对应的cell类或通过tableview对象和indexpath(索引路径)找到cell对象,然后调用预定义的cell协议。实现UITableView的数据源协议中的section相关的接口的方式如下:通过section数据模型的一维数组获取到对应的section的数据模型,通过数据模型中的类名字段找到对应的section类,然后调用预定义的section协议。通过这样的方式将UITableView的数据源和代理的接口在集合中的每一个cell类和section类中实现。包含列表的容器无需实现具体的实现方法,因此,也就不会出现在一个接口实现方法中写多个逻辑判断来处理不同的section和cell的问题,因此,不需要发布版本即可实现列表视图的更新。
关于实现UITableView的代理协议中的cell相关的接口和section相关的接口的方式,与上述实现UITableView的数据源协议中的cell相关的接口和section相关的接口的方式相同,在此不再赘述。
在该实施例中,如果用户想要对列表视图的样式进行修改,若上述集合中没有需要的cell类和section类,则只需根据需要的视图样式创建新的cell类和section类并存储到上述cell类的集合和section类的集合中,并解除该数据模型中原本绑定的类名字段,将新创建的cell类和section类的类名字段绑定到数据模型中,触发视图更新指令。或者,若上述集合中有需要的cell类和section类,则只需选择需要的cell类和section类,并将其类名字段更新绑定到该数据模型中,触发视图更新指令。
该装置在接收到视图更新指令时,获取该视图更新指令对应的数据模型,从数据模型中获取绑定的类名字段,从预先创建的cell类的集合和section类的集合中查找与类名字段对应的cell类和section,根据数据模型和与类名字段对应的cell类和section类更新列表视图。
作为一种实施方式,根据数据模型和与类名字段对应的cell类和section类更新列表视图的步骤包括:
组装数据模型,以获取cell数据模型的二维数组和section数据模型的一维数组;
将获取的cell数据模型的二维数组和section数据模型的一维数组赋值给所述数据源的通用类,以按照与所述类名字段对应的cell类和section类更新列表视图。
由于上述集合中的cell类和section类初始化中,是将CommonDataSource和CommonDelegate对象对应地赋值给UITableView的数据源和代理,因此,在更新时,将获取的cell数据模型的二维数组和section数据模型的一维数组赋值给所述数据源的通用类即可。
本发明提出的列表视图的更新装置,预先创建有cell类的集合和section类的集合,在这些集合中的cell类可以实现预定义的cell协议,该cell协议中包含有UITableView的数据源协议中的cell接口,以及UITableView的代理协议中的cell接口,所述section协议包括所述数据源协议中的section接口和所述代理协议中的section接口,将UITableView的数据源和代理的接口在集合中的每一个cell类和section类中实现,在接收到视图更新指令时,获取所述视图更新指令对应的数据模型,从所述数据模型中获取cell类和section类的类名字段,从上述集合中查找到与类名字段对应的cell类和section类,根据数据模型和与查找到的cell类和section类更新列表视图,不需要重新发布新版本的客户端即可实现对列表视图的界面效果进行动态地更新。
可选地,在其他的实施例中,列表视图更新程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行,以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。
参照图2所示,为本发明列表视图的更新装置一实施例中的列表视图更新程序的功能模块示意图,列表视图更新程序可以被分割为获取模块10、查找模块20以及更新模块30,其中:
获取模块10用于:在接收到视图更新指令时,获取所述视图更新指令对应的数据模型,从所述数据模型中获取cell类和section类的类名字段;
查找模块20用于:从预先创建的cell类的集合和section类的集合中查找与所述类名字段对应的cell类和section类,其中,cell类实现预定义的cell协议,section实现预定义的section协议,所述cell协议包括UITableView的数据源协议中的cell接口,以及UITableView的代理协议中的cell接口,所述section协议包括所述数据源协议中的section接口和所述代理协议中的section接口;
更新模块30用于:根据所述数据模型和与所述类名字段对应的cell类和section类更新列表视图。
此外,本发明还提供一种IOS系统中列表视图的动态更新方法。参照图3所示,为本发明IOS系统中列表视图的动态更新方法第一实施例的流程图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,IOS系统中列表视图的动态更新方法包括:
步骤S10,在接收到视图更新指令时,获取所述视图更新指令对应的数据模型,从所述数据模型中获取cell类和section类的类名字段;
步骤S20,从预先创建的cell类的集合和section类的集合中查找与所述类名字段对应的cell类和section类,其中,cell类实现预定义的cell协议,section实现预定义的section协议,所述cell协议包括UITableView的数据源协议中的cell接口,以及UITableView的代理协议中的cell接口,所述section协议包括所述数据源协议中的section接口和所述代理协议中的section接口;
步骤S30,根据所述数据模型和与所述类名字段对应的cell类和section类更新列表视图。
该实施例提供一种IOS系统下不需要发布新的客户端版本,即可实现客户端中的列表视图的更新的方案。在该实施例中,为了简化列表视图中的逻辑判断,实现对列表视图的动态更新,开发人员在进行软件开发时,预先定义好cell协议和section协议,作为后续创建的cell类和section类要实现的预定义cell协议和预定义section协议。
该实施例中,预先定义cell协议,包括定义列表视图的数据源(datasource)和代理(delegate)中所有和cell相关的新接口,新接口包含cell数据源、cell对应的位置以及列表视图对象;所有的cell类实现该协议。预先定义section协议,包括定义列表视图的数据源和代理中所有和section相关的新接口,新接口包含section数据源、section对应的位置以及tableview(列表视图)对象;所有的section实现该协议。
预先建立UITableView的数据源的通用类(CommonDataSource)。该CommonDataSource中包含有cell数据模型的初始二维数组和section数据模型的初始一维数组,并且能够实现UITableView的数据源协议的所有接口。所述section数据模型的一维数组的个数表示section的个数,所述cell数据模型的二维数组的个数表示section的个数,每个二维数组中一维数组的个数等于该二维数组对应的section下的cell的个数。
预先建立UITableView的代理的通用类(CommonDelegate),该CommonDelegate能够实现UITableView的代理协议的所有接口。
用户根据需要的cell样式和section样式创建新的cell类和section类,创建的cell类和section类实现上述预定义的cell协议和section协议。
按照上述方式,用户可以根据需要创建能够实现不同的cell样式和section样式的cell类和section类添加至预设的cell类的集合和section类的集合中。
可选地,在一实施例中,处理器12还用于执行所述列表视图更新程序,以实现如下步骤:
接收基于所述UITableView创建的cell类和section类,所述cell类实现预定义的cell协议,所述section类实现预定义的section协议;
获取预先设置的数据源的通用类和代理的通用类,所述数据源的通用类包含cell数据模型的初始二维数组和section数据模型的初始一维数组;
初始化所述cell类和section类,将所述数据源的通用类和代理的通用类对象赋值给所述UITableView的数据源和代理;
将创建的cell类和section类分别添加至cell类的集合和section类的集合中。
用户创建新的cell类和section类,继承UITableView,在cell类和sectio n类的初始化中,将CommonDataSource和CommonDelegate对象对应地赋值给UITableView的数据源和代理,此外,用户为创建的每一个cell类和sectio n类命名。
用户如果需要创建新的列表视图,则获取待创建的列表视图的数据模型,组装该数据模型,得到cell的数据模型的二维数组和section数据模型的一维数组,并根据要展示的cell样式和section样式,从上述集合中选择合适的cell类和section类,将数据模型与选择的类的类名字段进行绑定,并且将cell的数据模型的二维数组和section数据模型的一维数组分别对应地赋值给上述建立的数据源的通用类中的初始二维数组和初始一维数组,则实现列表视图的创建,创建的列表视图的样式为其数据模型中的类名字段对应的cell类和section类的所实现的样式。
其中,实现UITableView的数据源协议中的cell相关的接口的方式如下:可以通过cell数据模型的二维数组获取到对应的cell的数据模型,通过数据模型中包含的类名字段找到对应的cell类或通过tableview对象和indexpath(索引路径)找到cell对象,然后调用预定义的cell协议。实现UITableView的数据源协议中的section相关的接口的方式如下:通过section数据模型的一维数组获取到对应的section的数据模型,通过数据模型中的类名字段找到对应的section类,然后调用预定义的section协议。通过这样的方式将UITableView的数据源和代理的接口在集合中的每一个cell类和section类中实现。包含列表的容器无需实现具体的实现方法,因此,也就不会出现在一个接口实现方法中写多个逻辑判断来处理不同的section和cell的问题,因此,不需要发布版本即可实现列表视图的更新。
关于实现UITableView的代理协议中的cell相关的接口和section相关的接口的方式,与上述实现UITableView的数据源协议中的cell相关的接口和section相关的接口的方式相同,在此不再赘述。
在该实施例中,如果用户想要对列表视图的样式进行修改,若上述集合中没有需要的cell类和section类,则只需根据需要的视图样式创建新的cell类和section类并存储到上述cell类的集合和section类的集合中,并解除该数据模型中原本绑定的类名字段,将新创建的cell类和section类的类名字段绑定到数据模型中,触发视图更新指令。或者,若上述集合中有需要的cell类和section类,则只需选择需要的cell类和section类,并将其类名字段更新绑定到该数据模型中,触发视图更新指令。
服务器在接收到视图更新指令时,获取该视图更新指令对应的数据模型,从数据模型中获取绑定的类名字段,从预先创建的cell类的集合和section类的集合中查找与类名字段对应的cell类和section,根据数据模型和与类名字段对应的cell类和section类更新列表视图。
作为一种实施方式,根据数据模型和与类名字段对应的cell类和section类更新列表视图的步骤包括:
组装数据模型,以获取cell数据模型的二维数组和section数据模型的一维数组;
将获取的cell数据模型的二维数组和section数据模型的一维数组赋值给所述数据源的通用类,以按照与所述类名字段对应的cell类和section类更新列表视图。
由于上述集合中的cell类和section类初始化中,是将CommonDataSource和CommonDelegate对象对应地赋值给UITableView的数据源和代理,因此,在更新时,将获取的cell数据模型的二维数组和section数据模型的一维数组赋值给所述数据源的通用类即可。
本发明提出的列表视图的更新方法,预先创建有cell类的集合和section类的集合,在这些集合中的cell类可以实现预定义的cell协议,该cell协议中包含有UITableView的数据源协议中的cell接口,以及UITableView的代理协议中的cell接口,所述section协议包括所述数据源协议中的section接口和所述代理协议中的section接口,将UITableView的数据源和代理的接口在集合中的每一个cell类和section类中实现,在接收到视图更新指令时,获取所述视图更新指令对应的数据模型,从所述数据模型中获取cell类和section类的类名字段,从上述集合中查找到与类名字段对应的cell类和section类,根据数据模型和与查找到的cell类和section类更新列表视图,不需要重新发布新版本的客户端即可实现对列表视图的界面效果进行动态地更新。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有列表视图更新程序,所述列表视图更新程序可被至少一个处理器执行,以实现如下操作:
在接收到视图更新指令时,获取所述视图更新指令对应的数据模型,从所述数据模型中获取cell类和section类的类名字段;
从预先创建的cell类的集合和section类的集合中查找与所述类名字段对应的cell类和section类,其中,cell类实现预定义的cell协议,section实现预定义的section协议,所述cell协议包括UITableView的数据源协议中的cell接口,以及UITableView的代理协议中的cell接口,所述section协议包括所述数据源协议中的section接口和所述代理协议中的section接口;
根据所述数据模型和与所述类名字段对应的cell类和section类更新列表视图。
进一步地,所述列表视图更新程序被处理器执行时还实现如下操作:
接收基于所述UITableView创建的cell类和section类,所述cell类实现预定义的cell协议,所述section类实现预定义的section协议;
获取预先设置的数据源的通用类和代理的通用类,所述数据源的通用类包含cell数据模型的初始二维数组和section数据模型的初始一维数组;
初始化所述cell类和section类,将所述数据源的通用类和代理的通用类对象赋值给所述UITableView的数据源和代理;
将创建的cell类和section类分别添加至cell类的集合和section类的集合中。
进一步地,所述列表视图更新程序被处理器执行时还实现如下操作:
组装所述数据模型,以获取cell数据模型的二维数组和section数据模型的一维数组;
将获取的cell数据模型的二维数组和section数据模型的一维数组赋值给所述数据源的通用类,以按照与所述类名字段对应的cell类和section类更新列表视图。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (6)

1.一种IOS系统中列表视图的更新装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的列表视图更新程序,所述列表视图更新程序被所述处理器执行时实现如下步骤:
在接收到视图更新指令时,获取所述视图更新指令对应的数据模型,从所述数据模型中获取cell类和section类的类名字段;
从预先创建的cell类的集合和section类的集合中查找与所述类名字段对应的cell类和section类,其中,cell类实现预定义的cell协议,section实现预定义的section协议,所述cell协议包括UITableView的数据源协议中的cell接口,以及UITableView的代理协议中的cell接口,所述section协议包括所述数据源协议中的section接口和所述代理协议中的section接口;
根据所述数据模型和与所述类名字段对应的cell类和section类更新列表视图;
所述处理器还用于执行所述列表视图更新程序,以实现如下步骤:
接收基于所述UITableView创建的cell类和section类,所述cell类实现预定义的cell协议,所述section类实现预定义的section协议;
获取预先设置的数据源的通用类和代理的通用类,所述数据源的通用类包含cell数据模型的初始二维数组和section数据模型的初始一维数组;
初始化所述cell类和section类,将所述数据源的通用类和代理的通用类对象赋值给所述UITableView的数据源和代理;
将创建的cell类和section类分别添加至cell类的集合和section类的集合中;
所述根据所述数据模型和与所述类名字段对应的cell类和section类更新列表视图的步骤包括:
组装所述数据模型,以获取cell数据模型的二维数组和section数据模型的一维数组;
将获取的cell数据模型的二维数组和section数据模型的一维数组赋值给所述数据源的通用类,以按照与所述类名字段对应的cell类和section类更新列表视图。
2.根据权利要求1所述的IOS系统中列表视图的更新装置,其特征在于,所述cell接口中包括cell数据源、cell对应的位置以及列表视图对象;所述section接口包括section数据源、section对应的位置以及列表视图对象。
3.根据权利要求1所述的IOS系统中列表视图的更新装置,其特征在于,所述section数据模型的一维数组的个数表示section的个数,所述cell数据模型的二维数组的个数表示section的个数,每个二维数组中一维数组的个数等于该二维数组对应的section下的cell的个数。
4.一种IOS系统中列表视图的动态更新方法,其特征在于,所述方法包括:
在接收到视图更新指令时,获取所述视图更新指令对应的数据模型,从所述数据模型中获取cell类和section类的类名字段;
从预先创建的cell类的集合和section类的集合中查找与所述类名字段对应的cell类和section类,其中,cell类实现预定义的cell协议,section实现预定义的section协议,所述cell协议包括UITableView的数据源协议中的cell接口,以及UITableView的代理协议中的cell接口,所述section协议包括所述数据源协议中的section接口和所述代理协议中的section接口;
根据所述数据模型和与所述类名字段对应的cell类和section类更新列表视图;
所述方法还包括:
接收基于所述UITableView创建的cell类和section类,所述cell类实现预定义的cell协议,所述section类实现预定义的section协议;
获取预先设置的数据源的通用类和代理的通用类,所述数据源的通用类包含cell数据模型的初始二维数组和section数据模型的初始一维数组;
初始化所述cell类和section类,将所述数据源的通用类和代理的通用类对象赋值给所述UITableView的数据源和代理;
将创建的cell类和section类分别添加至cell类的集合和section类的集合中;
所述根据所述数据模型和与所述类名字段对应的cell类和section类更新列表视图的步骤包括:
组装所述数据模型,以获取cell数据模型的二维数组和section数据模型的一维数组;
将获取的cell数据模型的二维数组和section数据模型的一维数组赋值给所述数据源的通用类,以按照与所述类名字段对应的cell类和section类更新列表视图。
5.根据权利要求4所述的IOS系统中列表视图的动态更新方法,其特征在于,所述cell接口中包括cell数据源、cell对应的位置以及列表视图对象;所述section接口包括section数据源、section对应的位置以及列表视图对象。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有列表视图更新程序,所述列表视图更新程序可被至少一个处理器执行,以实现如权利要求4至5中任一项所述的IOS系统中列表视图的动态更新方法的步骤。
CN201710774990.8A 2017-08-31 2017-08-31 列表视图的更新装置、方法及计算机可读存储介质 Active CN107656729B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710774990.8A CN107656729B (zh) 2017-08-31 2017-08-31 列表视图的更新装置、方法及计算机可读存储介质
PCT/CN2017/105015 WO2019041441A1 (zh) 2017-08-31 2017-09-30 列表视图的更新装置、方法及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710774990.8A CN107656729B (zh) 2017-08-31 2017-08-31 列表视图的更新装置、方法及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN107656729A CN107656729A (zh) 2018-02-02
CN107656729B true CN107656729B (zh) 2020-04-28

Family

ID=61128940

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710774990.8A Active CN107656729B (zh) 2017-08-31 2017-08-31 列表视图的更新装置、方法及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN107656729B (zh)
WO (1) WO2019041441A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108845803B (zh) * 2018-05-23 2022-11-08 北京五八信息技术有限公司 一种列表视图的更新方法、装置、设备及存储介质
CN111046206A (zh) * 2018-10-12 2020-04-21 武汉斗鱼网络科技有限公司 头像列表展示方法、装置、电子设备及存储介质
CN109582193B (zh) * 2018-11-30 2021-01-29 北京微播视界科技有限公司 列表管理组中的项cell的控制显示方法及电子设备
CN109829124B (zh) * 2018-12-28 2021-09-21 浙江口碑网络技术有限公司 一种客户端列表页的显示方法及其装置
CN109977164A (zh) * 2019-04-01 2019-07-05 时代数媒科技股份有限公司 一种基于数据驱动的移动端列表开发方法
CN110457084B (zh) * 2019-07-10 2021-11-30 五八有限公司 一种加载方法及装置
CN112328255A (zh) * 2020-10-26 2021-02-05 成都商通时代数字科技有限公司 基于ios系统的通用集成列表翻页刷新方法和刷新系统
CN113778401A (zh) * 2021-01-05 2021-12-10 北京沃东天骏信息技术有限公司 一种页面生成的方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677366A (zh) * 2016-02-26 2016-06-15 四川长虹电器股份有限公司 基于iOS系统中UITableView实现无限循环滚动选择的方法
CN106302008A (zh) * 2016-08-05 2017-01-04 腾讯科技(深圳)有限公司 数据更新方法和装置
CN106502674A (zh) * 2016-10-21 2017-03-15 武汉斗鱼网络科技有限公司 一种列表视图中的网格显示方法和装置
CN106502656A (zh) * 2016-10-09 2017-03-15 武汉斗鱼网络科技有限公司 一种ios系统中列表视图构建方法及系统
CN106855794A (zh) * 2015-12-08 2017-06-16 平安科技(深圳)有限公司 应用于ios操作系统的多对象间的数据共享方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10291729B2 (en) * 2014-01-21 2019-05-14 Apptimize, Inc. User interface modification and usage tracking
US9721041B2 (en) * 2015-01-21 2017-08-01 Sap Se Configurable data analysis using a configuration model

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106855794A (zh) * 2015-12-08 2017-06-16 平安科技(深圳)有限公司 应用于ios操作系统的多对象间的数据共享方法及系统
CN105677366A (zh) * 2016-02-26 2016-06-15 四川长虹电器股份有限公司 基于iOS系统中UITableView实现无限循环滚动选择的方法
CN106302008A (zh) * 2016-08-05 2017-01-04 腾讯科技(深圳)有限公司 数据更新方法和装置
CN106502656A (zh) * 2016-10-09 2017-03-15 武汉斗鱼网络科技有限公司 一种ios系统中列表视图构建方法及系统
CN106502674A (zh) * 2016-10-21 2017-03-15 武汉斗鱼网络科技有限公司 一种列表视图中的网格显示方法和装置

Also Published As

Publication number Publication date
WO2019041441A1 (zh) 2019-03-07
CN107656729A (zh) 2018-02-02

Similar Documents

Publication Publication Date Title
CN107656729B (zh) 列表视图的更新装置、方法及计算机可读存储介质
CN111090437B (zh) 应用部署方法、装置及计算机可读存储介质
CN109358851B (zh) 图表组件的创建方法、装置及计算机可读存储介质
AU2016382741B2 (en) Interface data displaying method and device
CN108228119B (zh) 基于hxml的打印方法、终端设备及存储介质
CN108874464B (zh) 中间件自动扫描装配方法、装置及存储介质
US9934007B2 (en) Method for operating tool in working environment and machine using such method
CN108762767B (zh) 应用发布方法、装置及计算机可读存储介质
CN107679056B (zh) 生成sql语句的方法、电子装置及可读存储介质
WO2020015170A1 (zh) 接口调用方法、装置及计算机可读存储介质
US11640441B2 (en) Page displaying method and device, computer-readable storage medium and electronic device
CN109669692B (zh) 源码共享方法、服务器、计算机可读存储介质及系统
CN111068328A (zh) 游戏广告配置表格的生成方法、终端设备及介质
CN110941614A (zh) 表单生成方法、装置、电子设备及计算机可读存储介质
CN110941779A (zh) 加载页面的方法、装置、存储介质及电子设备
CN111367518B (zh) 页面布局方法、装置、计算设备及计算机存储介质
WO2019071898A1 (zh) 电子装置、数据库查询脚本生成方法及存储介质
CN111857881A (zh) 基于repo的manifest仓库加载方法、装置及存储介质
CN105119944A (zh) 一种应用的启动方法和相关装置
CN111986553B (zh) 基于语义标签进行地图关联的方法、设备及存储介质
CN111625221B (zh) 应用于集成开发环境的版本控制方法、装置及设备和介质
CN111158777B (zh) 组件调用方法、装置及计算机可读存储介质
CN112083925A (zh) 基于h5页面开发的数据获取方法、装置、设备及存储介质
CN104063277A (zh) 一种信息处理方法及电子设备
CN109240660B (zh) 一种广告数据的接入方法、存储介质、电子设备及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180601

Address after: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant after: Shenzhen one ledger Intelligent Technology Co., Ltd.

Address before: 200030 Xuhui District, Shanghai Kai Bin Road 166, 9, 10 level.

Applicant before: Shanghai Financial Technologies Ltd

REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1246880

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant