CN106951227A - 一种更新导航栏的方法和装置 - Google Patents
一种更新导航栏的方法和装置 Download PDFInfo
- Publication number
- CN106951227A CN106951227A CN201710090700.8A CN201710090700A CN106951227A CN 106951227 A CN106951227 A CN 106951227A CN 201710090700 A CN201710090700 A CN 201710090700A CN 106951227 A CN106951227 A CN 106951227A
- Authority
- CN
- China
- Prior art keywords
- navigation bar
- updated
- array
- information
- bar data
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/954—Navigation, e.g. using categorised browsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Navigation (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种更新导航栏的方法和装置,方法包括:当启动标签栏控制器时,向服务器发送是否更新导航栏的请求,并接收所述服务器回复的导航栏数据,导航栏数据中含有一定数量个待更新的信息;当所述导航栏数据的类型为数组时,将所有所述待更新的信息进行排序,删除本地的导航栏数据并保存排序后的导航栏数据;以及基于本地的导航栏数据中所有待更新的信息的顺序,依次更新本地的导航栏数据的信息。本发明避免了先加载再更新导致的容错率低的状况,方便后台进行调研,并且无论网络连接成功与否,都可以加载导航栏数据,具有很好的适应性,无需重新提交版本到appstore或者安卓应用市场。
Description
技术领域
本发明涉及计算机技术领域,更具体地,涉及更新导航栏的方法和装置。
背景技术
随着互联网的发展,移动app成为移动互联网的一个重要的入口,现在每个手机都会安装几十个到上百个app,app相比web的特点是app的内容架构比较固定,不像web的内容架构随时可以更改,用户随时可以看到。
由于app的主体架构一般都是固定的,当需要做大的架构调整的时候,需要重新提交版本到appstore或者安卓应用市场,由appstore或安卓应用市场对提交的版本进行重新审核,而这必然会耽误app的更新普及。
导航栏是指位于页眉或页脚区域的导航按钮,它起着链接app各个界面或页面的作用,对于app的使用体验非常重要,因此调整导航栏也是属于大的结构的调整,现有技术对于更新导航栏的方法多采用上文提到的向应用市场重新递交版本的方式,因此,急需一种能够绕过应用市场,直接在用户打开软件时就进行更新导航栏的方法。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的更新导航栏的方法和装置。
根据本发明的一个方面,提供一种更新导航栏的方法,包括:
S1、当启动标签栏控制器时,向服务器发送是否更新导航栏的请求,并接收所述服务器回复的导航栏数据,所述导航栏数据中含有一定数量个待更新的信息;
S2、当所述导航栏数据的类型为数组时,将所有所述待更新的信息进行排序,删除本地的导航栏数据并保存排序后的导航栏数据;以及
S3、基于本地的导航栏数据中所有待更新的信息的顺序,依次更新所述导航栏数据中的待更新的信息。
根据本发明的另一个方面,还提供一种更新导航栏的装置,包括:
接收模块,用于在启动标签栏控制器时,向服务器发送是否更新导航栏的请求,并接收所述服务器回复的导航栏数据,所述导航栏数据中含有一定数量个待更新的信息;
排序模块,用于当所述导航栏数据的类型为数组时,将所有所述待更新的信息进行排序,所述导航栏数据中含有待展示的待更新的信息;以及
更新模块,基于本地的导航栏数据中所有待更新的信息的顺序,依次更新所述导航栏数据中的待更新的信息。
本申请提出一种更新导航栏的方法和装置,通过在启动标签栏控制器时向服务器发送更新请求,是发送更新请求的最佳时机,避免了先加载再更新导致的容错率低的状况,通过判断回复的数据,保证app不管遇到网络问题还是数据问题都可以有导航栏;通过将待更新的信息的类型转换为模型,方便后台进行调研,并且无论网络连接成功与否,都可以加载导航栏数据,具有很好的适应性,通过将待更新的信息的唯一编码作为排序的意见,可以通过后台灵活决定导航栏的显示顺序,导航的内容架构随时可以更改,用户也可以随时看到,无需重新提交版本到appstore或者安卓应用市场。
附图说明
图1为根据本发明实施例的更新导航栏的方法流程图;
图2为现有技术中一个应用程序的导航栏示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
为了克服现有技术中,在更新导航栏时必须重新提交app的更新版本至应用市场,导致的耽误普及app更新的问题,本发明提供一种更新导航栏的方法。
图1示出了本发明实施例的更新导航栏的方法流程示意图,包括:
S1、当启动标签栏控制器时,向服务器发送是否更新导航栏的请求,并接收所述服务器回复的导航栏数据,所述导航栏数据中含有一定数量个待更新的信息;
S2、当所述导航栏数据的类型为数组时,将所有所述待更新的信息进行排序,删除本地的导航栏数据并保存排序后的导航栏数据;以及
S3、基于本地的导航栏数据中所有待更新的信息的顺序,依次更新本地的导航栏数据的信息。
标签栏控制器,即UITabBarController控制器,是一种用于管理视图控制器的UI控件,在其内部封装了一个标签栏,标签的管理是横向的,通过标签的切换来改变控制器,一般习惯将tabBar作为应用程序的根视图控制器,在其中添加导航,导航中在对ViewController进行管理。
导航栏数据中包括应用程序的导航栏的图标、名称以及排序,图2示出了一个应用程序的导航栏示意图,如图2可知,位于图中下方的“微信”、“通讯录”、“发现”以及“我”,即为导航栏中的名称,紧靠在名称上方的图即为图标,而各图标由左至右的顺序即为导航栏的排序,是固定的,在现有技术中,若该应用程序想要更改导航栏,就必须重新提交更新版本至应用市场。
通过在启动标签栏控制器时向服务器发送更新请求,是发送更新请求的最佳时机,避免了先加载再更新导致的容错率低的状况,通过判断回复的数据,保证app不管遇到网络问题还是数据问题都可以有导航栏;通过将待更新的信息的类型转换为模型,方便后台进行调研,并且无论网络连接成功与否,都可以加载导航栏数据,具有很好的适应性,通过将待更新的信息的唯一编码作为排序的意见,可以通过后台灵活决定导航栏的显示顺序,导航的内容架构随时可以更改,用户也可以随时看到,无需重新提交版本到appstore或者安卓应用市场。
在一个实施例中,步骤S2还包括:
当所述导航栏输的类型不为数组时,保留本地的导航栏数据。即当所述类型不为数组时,基于本地的导航栏数据中所有待更新的信息的顺序,依次更新所述导航栏数据中的待更新的信息。
本步骤通过判断回复的数据,保证app不管遇到网络问题还是数据问题都可以有导航栏。
在一个实施例中,所述步骤S2包括:
S2.1、判断所述导航栏数据的类型是否为数组,所述导航栏数据中含有一定数量个待更新的信息,任意一个待更新的信息含有唯一编码。
数组是按一定顺序去排列的集合,通过下标去存值,当希望数据是按照一定的顺序去排列的时候,应该选择使用数组。唯一编码即ID,本发明中,将待更新的信息的ID作为排序的依据。
S2.2、当所述导航栏数据的类型为数组时,将所述导航栏数据转换为第二数组并存储在本地,所述第二数组中每个所述待更新的信息的类型为模型。
将待更新的信息处理为模型,并且存储起来,方便后续需要导航栏数据的时候调用。
S2.3、基于所述第二数组中的每个待更新的信息的唯一编码,对所有待更新的信息进行排序,获得第三数组。
在一个实施例中,所述步骤S2.2具体包括:
S2.2.1、当所述导航栏数据的类型为id类型(即可以是任意类型)时,将所述导航栏数据的类型强制转换为数组,获得第一数组,本步骤是一个强制类型转换过程,将导航栏数据转换为合适的类型,所述第一数组中每个所述待更新的信息的类型为字典。字典:通过key存取值,获取一个具体的标识,准确得到需要的值。
S2.2.2、将所述第一数组中各待更新的信息的类型转化为模型,获得所述第二数组。
模型(model),包含了核心功能和数据,即核心业务逻辑。
在一个实施例中,所述步骤S1中向服务器发送是否更新导航栏的请求,具体包括:
使用语句Networking getWithUrl向服务器发送是否更新导航栏的请求。
语句Networking getWithUrl具体为:
在一个实施例中,所述步骤S2.1中判断所述导航栏数据的类型是否为数组,具体包括:
使用response isKindOfClass:[NSArray class]语句判断所述导航栏数据的类型是否为数组。
在一个实施例中,所述步骤S2.2.1中将所述导航栏数据转换为第一数组,具体包括:
使用语句NSArray*deserializedArray=(NSArray*)response将所述导航栏数据转换为第一数组。
在一个实施例中,所述步骤S2.2.2中将所述第一数组转换为第二数组,具体包括:
使用函数NSMutableArray*menuAllArr=WSOneMenuModelobjectArrayWithKeyValuesArray,将所述第一数组转换为第二数组,即menuAllArr。
在一个实施例中,所述步骤S2.3具体包括:基于所述第二数组中的每个待更新的信息的唯一编码,使用getTabbarArr函数对所有待更新的信息进行排序,获得第三数组。
其中,所述getTabbarArr函数的包括:
使用语句NSMutableArray array创建第三数组newArr;
使用for(int i=0;i<arr.count;i++)创建for循环;
在每个for循环里取出需要的数据使用[newArr addObject:model];加到第三数组中;
使用语句arraySort sortedArrayUsingComparator:^NSComparisonResult(WSOneMenuModel*obj1,WSOneMenuModel*obj2对第三数组进行排序;
NSComparisonResult result=[getStrFromIntger(obj1.Parentid)compare:getStrFromIntger(obj2.id)]。
在一个实施例中,当所述导航栏数据的类型为数组时,使用[self loadMenu:YES];函数依次加载导航栏数据。
在一个实施例中,当所述导航栏数据的类型不为数组时,使用[self loadMenu:NO];函数去加载本地的导航栏数据。
在一个实施例中,本发明还提供一种更新导航栏的装置,包括:
接收模块,用于在启动标签栏控制器时,向服务器发送是否更新导航栏的请求,并接收所述服务器回复的导航栏数据,所述导航栏数据中含有一定数量个待更新的信息;
排序模块,用于当所述导航栏数据的类型为数组时,将所有所述待更新的信息进行排序,所述导航栏数据中含有待展示的待更新的信息;以及
更新模块,用于基于本地的导航栏数据中所有待更新的信息的顺序,依次更新所述导航栏数据中的信息。
在一个实施例中,所述排序模块具体包括:
判断单元,用于判断所述导航栏数据的类型是否为数组,所述导航栏数据中含有一定数量个待更新的信息,任意一个待更新的信息含有唯一编码;
模型转换单元,用于当所述导航栏数据的类型为数组时,将所述导航栏数据转换为第二数组并存储在本地,所述第二数组中每个所述待更新的信息的类型为模型;以及
排序单元,用于基于所述第二数组中的每个待更新的信息的唯一编码,对所有待更新的信息进行排序,获得第三数组。
在一个实施例中,模型转换单元进一步包括:
字典分区,用于当所述导航栏数据的类型为数组时,将所述导航栏数据的类型强制转换为数组,获得第一数组,所述第一数组中每个所述待更新的信息的类型为字典;以及
模型分区,用于将所述第一数组中各待更新的信息的类型转化为模型,获得所述第二数组。
在一个实施例中,本发明公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
S1、当启动标签栏控制器时,向服务器发送是否更新导航栏的请求,并接收所述服务器回复的导航栏数据,所述导航栏数据中含有一定数量个待更新的信息;
S2、当所述导航栏数据的类型为数组时,将所有所述待更新的信息进行排序,删除本地的导航栏数据并保存排序后的导航栏数据;以及
S3、基于本地的导航栏数据中所有待更新的信息的顺序,依次更新本地的导航栏数据的信息。
在一个实施例中,本发明公开了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:
S1、当启动标签栏控制器时,向服务器发送是否更新导航栏的请求,并接收所述服务器回复的导航栏数据,所述导航栏数据中含有一定数量个待更新的信息;
S2、当所述导航栏数据的类型为数组时,将所有所述待更新的信息进行排序,删除本地的导航栏数据并保存排序后的导航栏数据;以及
S3、基于本地的导航栏数据中所有待更新的信息的顺序,依次更新本地的导航栏数据的信息。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种更新导航栏的方法,其特征在于,包括:
S1、当启动标签栏控制器时,向服务器发送是否更新导航栏的请求,并接收所述服务器回复的导航栏数据,所述导航栏数据中含有一定数量个待更新的信息;
S2、当所述导航栏数据的类型为数组时,将所有所述待更新的信息进行排序,删除本地的导航栏数据并保存排序后的导航栏数据;以及
S3、基于本地的导航栏数据中所有待更新的信息的顺序,依次更新本地的导航栏数据的信息。
2.如权利要求1所述的更新导航栏的方法,其特征在于,步骤S2还包括:
当所述导航栏输的类型不为数组时,保留本地的导航栏数据。
3.如权利要求1所述的更新导航栏的方法,其特征在于,所述步骤S2包括:
S2.1、判断所述导航栏数据的类型是否为数组,其中所述导航栏数据中含有一定数量个待更新的信息,任意一个待更新的信息含有唯一编码;
S2.2、当所述导航栏数据的类型为数组时,将所述导航栏数据转换为第二数组并存储在本地,所述第二数组中每个所述待更新的信息的类型为模型;以及
S2.3、基于所述第二数组中的每个待更新的信息的唯一编码,对所有待更新的信息进行排序,获得第三数组。
4.如权利要求3所述的更新导航栏的方法,其特征在于,所述步骤S2.2具体包括:
S2.2.1、当所述导航栏数据的类型为id类型时,将所述导航栏数据的类型强制转换为数组,获得第一数组,所述第一数组中每个所述待更新的信息的类型为字典;以及
S2.2.2、将所述第一数组中各待更新的信息的类型转化为模型,获得所述第二数组。
5.如权利要求1所述的更新导航栏的方法,其特征在于,所述步骤S1中向服务器发送是否更新导航栏的请求,具体包括:
使用语句Networking getWithUrl向服务器发送是否更新导航栏的请求。
6.如权利要求3所述的更新导航栏的方法,其特征在于,所述步骤S2.1中判断所述导航栏数据的类型是否为数组,具体包括:
使用response isKindOfClass:[NSArray class]语句判断所述导航栏数据的类型是否为数组。
7.如权利要求4所述的更新导航栏的方法,其特征在于,所述步骤S2.2.1中将所述导航栏数据的类型强制转换为数组,具体包括:
使用语句NSArray*deserializedArray=(NSArray*)response将所述导航栏数据的类型强制转换为数组。
8.如权利要求4所述的更新导航栏的方法,其特征在于,所述步骤S2.2.2中将所述第一数组中各待更新的信息的类型转化为模型,具体包括:
使用函数WSOneMenuModel objectArrayWithKeyValuesArray,将所述第一数组中各待更新的信息的类型转化为模型。
9.如权利要求3所述的更新导航栏的方法,其特征在于,所述步骤S2.3具体包括:基于所述第二数组中的每个待更新的信息的唯一编码,使用getTabbarArr函数对所有待更新的信息进行排序,获得所述第三数组。
10.一种更新导航栏的装置,其特征在于,包括:
接收模块,用于在启动标签栏控制器时,向服务器发送是否更新导航栏的请求,并接收所述服务器回复的导航栏数据,所述导航栏数据中含有一定数量个待更新的信息;
排序模块,用于当所述导航栏数据的类型为数组时,将所有所述待更新的信息进行排序,删除本地的导航栏数据并保存排序后的导航栏数据;以及
更新模块,用于基于本地的导航栏数据中所有待更新的信息的顺序,依次更新所述导航栏数据中的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710090700.8A CN106951227B (zh) | 2017-02-20 | 2017-02-20 | 一种更新导航栏的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710090700.8A CN106951227B (zh) | 2017-02-20 | 2017-02-20 | 一种更新导航栏的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106951227A true CN106951227A (zh) | 2017-07-14 |
CN106951227B CN106951227B (zh) | 2020-03-17 |
Family
ID=59466482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710090700.8A Active CN106951227B (zh) | 2017-02-20 | 2017-02-20 | 一种更新导航栏的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106951227B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653513A (zh) * | 2015-12-30 | 2016-06-08 | 北京农信互联科技有限公司 | 一种基于猪场管理的表单录入方法及*** |
CN110069309A (zh) * | 2019-04-23 | 2019-07-30 | 广州华多网络科技有限公司 | 一种页面配置方法、***及客户端 |
CN111596992A (zh) * | 2020-04-28 | 2020-08-28 | 北京字节跳动网络技术有限公司 | 导航栏展示方法、装置和电子设备 |
WO2023125113A1 (zh) * | 2021-12-28 | 2023-07-06 | 掌阅科技股份有限公司 | 导航栏显示方法、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077049A (zh) * | 2012-12-31 | 2013-05-01 | 福州瑞芯微电子有限公司 | 智能桌面导航栏更新方法及*** |
CN103246529A (zh) * | 2012-02-13 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 更新和推送导航栏的方法、设备和*** |
-
2017
- 2017-02-20 CN CN201710090700.8A patent/CN106951227B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246529A (zh) * | 2012-02-13 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 更新和推送导航栏的方法、设备和*** |
CN103077049A (zh) * | 2012-12-31 | 2013-05-01 | 福州瑞芯微电子有限公司 | 智能桌面导航栏更新方法及*** |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653513A (zh) * | 2015-12-30 | 2016-06-08 | 北京农信互联科技有限公司 | 一种基于猪场管理的表单录入方法及*** |
CN110069309A (zh) * | 2019-04-23 | 2019-07-30 | 广州华多网络科技有限公司 | 一种页面配置方法、***及客户端 |
CN111596992A (zh) * | 2020-04-28 | 2020-08-28 | 北京字节跳动网络技术有限公司 | 导航栏展示方法、装置和电子设备 |
WO2023125113A1 (zh) * | 2021-12-28 | 2023-07-06 | 掌阅科技股份有限公司 | 导航栏显示方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106951227B (zh) | 2020-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106951227A (zh) | 一种更新导航栏的方法和装置 | |
CN102650947B (zh) | 一种Android手持设备连续增量的空中升级方法 | |
CN108648810B (zh) | 医学审核的数据处理方法、装置、及计算机可读存储介质 | |
KR102204527B1 (ko) | 애플리케이션을 업데이트하기 위한 방법, 장치, 기기 및 컴퓨터 판독 가능 저장 매체 | |
US10843079B2 (en) | Game development system | |
US10688397B2 (en) | Information processing device, non-transitory computer readable medium, and information processing method | |
CN105335419B (zh) | 网页图片加载方法和装置 | |
CN104461621B (zh) | 一种更新属性信息的方法及装置 | |
US20150205496A1 (en) | Method and system for visualization of algorithmic guidelines | |
CN110020276A (zh) | 一种app中嵌入h5页面的兼容性处理方法及装置 | |
CN103077049A (zh) | 智能桌面导航栏更新方法及*** | |
CN108829587A (zh) | 测试用例参数替换方法、装置、计算机设备及存储介质 | |
JP6000804B2 (ja) | 作業手順管理システム、作業手順管理方法及び作業手順管理プログラム | |
JP6498347B1 (ja) | 情報処理装置、ゲームプログラム、及び、情報処理方法 | |
CN111459460B (zh) | 一种业务数据处理方法及*** | |
CN114764556A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
WO2015198463A1 (ja) | 情報処理装置、情報処理方法、プログラム、記憶媒体及びパスワード入力装置 | |
JP5796265B2 (ja) | 設定の管理および配布のためのシステムおよび方法 | |
CN110879871B (zh) | 页面菜单的配置方法及装置 | |
JP5092470B2 (ja) | レセプトチェック装置、レセプトチェック方法、プログラム、及び、記録媒体 | |
JP6114784B2 (ja) | 設定の管理および配布のためのシステムおよび方法 | |
JP2015036908A (ja) | プラント点検支援システム | |
CN104106014B (zh) | 可编程显示器、程序 | |
CN111459580A (zh) | 一种页面展示方法及装置 | |
CN109947398A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |