亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種更新導航欄的方法和裝置與流程

文檔序號:11729135閱讀:157來源:國知局
本發(fā)明涉及計算機
技術(shù)領(lǐng)域
:,更具體地,涉及更新導航欄的方法和裝置。
背景技術(shù)
::隨著互聯(lián)網(wǎng)的發(fā)展,移動app成為移動互聯(lián)網(wǎng)的一個重要的入口,現(xiàn)在每個手機都會安裝幾十個到上百個app,app相比web的特點是app的內(nèi)容架構(gòu)比較固定,不像web的內(nèi)容架構(gòu)隨時可以更改,用戶隨時可以看到。由于app的主體架構(gòu)一般都是固定的,當需要做大的架構(gòu)調(diào)整的時候,需要重新提交版本到appstore或者安卓應用市場,由appstore或安卓應用市場對提交的版本進行重新審核,而這必然會耽誤app的更新普及。導航欄是指位于頁眉或頁腳區(qū)域的導航按鈕,它起著鏈接app各個界面或頁面的作用,對于app的使用體驗非常重要,因此調(diào)整導航欄也是屬于大的結(jié)構(gòu)的調(diào)整,現(xiàn)有技術(shù)對于更新導航欄的方法多采用上文提到的向應用市場重新遞交版本的方式,因此,急需一種能夠繞過應用市場,直接在用戶打開軟件時就進行更新導航欄的方法。技術(shù)實現(xiàn)要素:本發(fā)明提供一種克服上述問題或者至少部分地解決上述問題的更新導航欄的方法和裝置。根據(jù)本發(fā)明的一個方面,提供一種更新導航欄的方法,包括:s1、當啟動標簽欄控制器時,向服務器發(fā)送是否更新導航欄的請求,并接收所述服務器回復的導航欄數(shù)據(jù),所述導航欄數(shù)據(jù)中含有一定數(shù)量個待更新的信息;s2、當所述導航欄數(shù)據(jù)的類型為數(shù)組時,將所有所述待更新的信息進行排序,刪除本地的導航欄數(shù)據(jù)并保存排序后的導航欄數(shù)據(jù);以及s3、基于本地的導航欄數(shù)據(jù)中所有待更新的信息的順序,依次更新所述導航欄數(shù)據(jù)中的待更新的信息。根據(jù)本發(fā)明的另一個方面,還提供一種更新導航欄的裝置,包括:接收模塊,用于在啟動標簽欄控制器時,向服務器發(fā)送是否更新導航欄的請求,并接收所述服務器回復的導航欄數(shù)據(jù),所述導航欄數(shù)據(jù)中含有一定數(shù)量個待更新的信息;排序模塊,用于當所述導航欄數(shù)據(jù)的類型為數(shù)組時,將所有所述待更新的信息進行排序,所述導航欄數(shù)據(jù)中含有待展示的待更新的信息;以及更新模塊,基于本地的導航欄數(shù)據(jù)中所有待更新的信息的順序,依次更新所述導航欄數(shù)據(jù)中的待更新的信息。本申請?zhí)岢鲆环N更新導航欄的方法和裝置,通過在啟動標簽欄控制器時向服務器發(fā)送更新請求,是發(fā)送更新請求的最佳時機,避免了先加載再更新導致的容錯率低的狀況,通過判斷回復的數(shù)據(jù),保證app不管遇到網(wǎng)絡問題還是數(shù)據(jù)問題都可以有導航欄;通過將待更新的信息的類型轉(zhuǎn)換為模型,方便后臺進行調(diào)研,并且無論網(wǎng)絡連接成功與否,都可以加載導航欄數(shù)據(jù),具有很好的適應性,通過將待更新的信息的唯一編碼作為排序的意見,可以通過后臺靈活決定導航欄的顯示順序,導航的內(nèi)容架構(gòu)隨時可以更改,用戶也可以隨時看到,無需重新提交版本到appstore或者安卓應用市場。附圖說明圖1為根據(jù)本發(fā)明實施例的更新導航欄的方法流程圖;圖2為現(xiàn)有技術(shù)中一個應用程序的導航欄示意圖。具體實施方式下面結(jié)合附圖和實施例,對本發(fā)明的具體實施方式作進一步詳細描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。為了克服現(xiàn)有技術(shù)中,在更新導航欄時必須重新提交app的更新版本至應用市場,導致的耽誤普及app更新的問題,本發(fā)明提供一種更新導航欄的方法。圖1示出了本發(fā)明實施例的更新導航欄的方法流程示意圖,包括:s1、當啟動標簽欄控制器時,向服務器發(fā)送是否更新導航欄的請求,并接收所述服務器回復的導航欄數(shù)據(jù),所述導航欄數(shù)據(jù)中含有一定數(shù)量個待更新的信息;s2、當所述導航欄數(shù)據(jù)的類型為數(shù)組時,將所有所述待更新的信息進行排序,刪除本地的導航欄數(shù)據(jù)并保存排序后的導航欄數(shù)據(jù);以及s3、基于本地的導航欄數(shù)據(jù)中所有待更新的信息的順序,依次更新本地的導航欄數(shù)據(jù)的信息。標簽欄控制器,即uitabbarcontroller控制器,是一種用于管理視圖控制器的ui控件,在其內(nèi)部封裝了一個標簽欄,標簽的管理是橫向的,通過標簽的切換來改變控制器,一般習慣將tabbar作為應用程序的根視圖控制器,在其中添加導航,導航中在對viewcontroller進行管理。導航欄數(shù)據(jù)中包括應用程序的導航欄的圖標、名稱以及排序,圖2示出了一個應用程序的導航欄示意圖,如圖2可知,位于圖中下方的“微信”、“通訊錄”、“發(fā)現(xiàn)”以及“我”,即為導航欄中的名稱,緊靠在名稱上方的圖即為圖標,而各圖標由左至右的順序即為導航欄的排序,是固定的,在現(xiàn)有技術(shù)中,若該應用程序想要更改導航欄,就必須重新提交更新版本至應用市場。通過在啟動標簽欄控制器時向服務器發(fā)送更新請求,是發(fā)送更新請求的最佳時機,避免了先加載再更新導致的容錯率低的狀況,通過判斷回復的數(shù)據(jù),保證app不管遇到網(wǎng)絡問題還是數(shù)據(jù)問題都可以有導航欄;通過將待更新的信息的類型轉(zhuǎn)換為模型,方便后臺進行調(diào)研,并且無論網(wǎng)絡連接成功與否,都可以加載導航欄數(shù)據(jù),具有很好的適應性,通過將待更新的信息的唯一編碼作為排序的意見,可以通過后臺靈活決定導航欄的顯示順序,導航的內(nèi)容架構(gòu)隨時可以更改,用戶也可以隨時看到,無需重新提交版本到appstore或者安卓應用市場。在一個實施例中,步驟s2還包括:當所述導航欄輸?shù)念愋筒粸閿?shù)組時,保留本地的導航欄數(shù)據(jù)。即當所述類型不為數(shù)組時,基于本地的導航欄數(shù)據(jù)中所有待更新的信息的順序,依次更新所述導航欄數(shù)據(jù)中的待更新的信息。本步驟通過判斷回復的數(shù)據(jù),保證app不管遇到網(wǎng)絡問題還是數(shù)據(jù)問題都可以有導航欄。在一個實施例中,所述步驟s2包括:s2.1、判斷所述導航欄數(shù)據(jù)的類型是否為數(shù)組,所述導航欄數(shù)據(jù)中含有一定數(shù)量個待更新的信息,任意一個待更新的信息含有唯一編碼。數(shù)組是按一定順序去排列的集合,通過下標去存值,當希望數(shù)據(jù)是按照一定的順序去排列的時候,應該選擇使用數(shù)組。唯一編碼即id,本發(fā)明中,將待更新的信息的id作為排序的依據(jù)。s2.2、當所述導航欄數(shù)據(jù)的類型為數(shù)組時,將所述導航欄數(shù)據(jù)轉(zhuǎn)換為第二數(shù)組并存儲在本地,所述第二數(shù)組中每個所述待更新的信息的類型為模型。將待更新的信息處理為模型,并且存儲起來,方便后續(xù)需要導航欄數(shù)據(jù)的時候調(diào)用。s2.3、基于所述第二數(shù)組中的每個待更新的信息的唯一編碼,對所有待更新的信息進行排序,獲得第三數(shù)組。在一個實施例中,所述步驟s2.2具體包括:s2.2.1、當所述導航欄數(shù)據(jù)的類型為id類型(即可以是任意類型)時,將所述導航欄數(shù)據(jù)的類型強制轉(zhuǎn)換為數(shù)組,獲得第一數(shù)組,本步驟是一個強制類型轉(zhuǎn)換過程,將導航欄數(shù)據(jù)轉(zhuǎn)換為合適的類型,所述第一數(shù)組中每個所述待更新的信息的類型為字典。字典:通過key存取值,獲取一個具體的標識,準確得到需要的值。s2.2.2、將所述第一數(shù)組中各待更新的信息的類型轉(zhuǎn)化為模型,獲得所述第二數(shù)組。模型(model),包含了核心功能和數(shù)據(jù),即核心業(yè)務邏輯。在一個實施例中,所述步驟s1中向服務器發(fā)送是否更新導航欄的請求,具體包括:使用語句networkinggetwithurl向服務器發(fā)送是否更新導航欄的請求。語句networkinggetwithurl具體為:在一個實施例中,所述步驟s2.1中判斷所述導航欄數(shù)據(jù)的類型是否為數(shù)組,具體包括:使用responseiskindofclass:[nsarrayclass]語句判斷所述導航欄數(shù)據(jù)的類型是否為數(shù)組。在一個實施例中,所述步驟s2.2.1中將所述導航欄數(shù)據(jù)轉(zhuǎn)換為第一數(shù)組,具體包括:使用語句nsarray*deserializedarray=(nsarray*)response將所述導航欄數(shù)據(jù)轉(zhuǎn)換為第一數(shù)組。在一個實施例中,所述步驟s2.2.2中將所述第一數(shù)組轉(zhuǎn)換為第二數(shù)組,具體包括:使用函數(shù)nsmutablearray*menuallarr=wsonemenumodelobjectarraywithkeyvaluesarray,將所述第一數(shù)組轉(zhuǎn)換為第二數(shù)組,即menuallarr。在一個實施例中,所述步驟s2.3具體包括:基于所述第二數(shù)組中的每個待更新的信息的唯一編碼,使用gettabbararr函數(shù)對所有待更新的信息進行排序,獲得第三數(shù)組。其中,所述gettabbararr函數(shù)的包括:使用語句nsmutablearrayarray創(chuàng)建第三數(shù)組newarr;使用for(inti=0;i<arr.count;i++)創(chuàng)建for循環(huán);在每個for循環(huán)里取出需要的數(shù)據(jù)使用[newarraddobject:model];加到第三數(shù)組中;使用語句arraysortsortedarrayusingcomparator:^nscomparisonresult(wsonemenumodel*obj1,wsonemenumodel*obj2對第三數(shù)組進行排序;nscomparisonresultresult=[getstrfromintger(obj1.parentid)compare:getstrfromintger(obj2.id)]。在一個實施例中,當所述導航欄數(shù)據(jù)的類型為數(shù)組時,使用[selfloadmenu:yes];函數(shù)依次加載導航欄數(shù)據(jù)。在一個實施例中,當所述導航欄數(shù)據(jù)的類型不為數(shù)組時,使用[selfloadmenu:no];函數(shù)去加載本地的導航欄數(shù)據(jù)。在一個實施例中,本發(fā)明還提供一種更新導航欄的裝置,包括:接收模塊,用于在啟動標簽欄控制器時,向服務器發(fā)送是否更新導航欄的請求,并接收所述服務器回復的導航欄數(shù)據(jù),所述導航欄數(shù)據(jù)中含有一定數(shù)量個待更新的信息;排序模塊,用于當所述導航欄數(shù)據(jù)的類型為數(shù)組時,將所有所述待更新的信息進行排序,所述導航欄數(shù)據(jù)中含有待展示的待更新的信息;以及更新模塊,用于基于本地的導航欄數(shù)據(jù)中所有待更新的信息的順序,依次更新所述導航欄數(shù)據(jù)中的信息。在一個實施例中,所述排序模塊具體包括:判斷單元,用于判斷所述導航欄數(shù)據(jù)的類型是否為數(shù)組,所述導航欄數(shù)據(jù)中含有一定數(shù)量個待更新的信息,任意一個待更新的信息含有唯一編碼;模型轉(zhuǎn)換單元,用于當所述導航欄數(shù)據(jù)的類型為數(shù)組時,將所述導航欄數(shù)據(jù)轉(zhuǎn)換為第二數(shù)組并存儲在本地,所述第二數(shù)組中每個所述待更新的信息的類型為模型;以及排序單元,用于基于所述第二數(shù)組中的每個待更新的信息的唯一編碼,對所有待更新的信息進行排序,獲得第三數(shù)組。在一個實施例中,模型轉(zhuǎn)換單元進一步包括:字典分區(qū),用于當所述導航欄數(shù)據(jù)的類型為數(shù)組時,將所述導航欄數(shù)據(jù)的類型強制轉(zhuǎn)換為數(shù)組,獲得第一數(shù)組,所述第一數(shù)組中每個所述待更新的信息的類型為字典;以及模型分區(qū),用于將所述第一數(shù)組中各待更新的信息的類型轉(zhuǎn)化為模型,獲得所述第二數(shù)組。在一個實施例中,本發(fā)明公開一種計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括存儲在非暫態(tài)計算機可讀存儲介質(zhì)上的計算機程序,所述計算機程序包括程序指令,當所述程序指令被計算機執(zhí)行時,計算機能夠執(zhí)行上述各方法實施例所提供的方法,例如包括:s1、當啟動標簽欄控制器時,向服務器發(fā)送是否更新導航欄的請求,并接收所述服務器回復的導航欄數(shù)據(jù),所述導航欄數(shù)據(jù)中含有一定數(shù)量個待更新的信息;s2、當所述導航欄數(shù)據(jù)的類型為數(shù)組時,將所有所述待更新的信息進行排序,刪除本地的導航欄數(shù)據(jù)并保存排序后的導航欄數(shù)據(jù);以及s3、基于本地的導航欄數(shù)據(jù)中所有待更新的信息的順序,依次更新本地的導航欄數(shù)據(jù)的信息。在一個實施例中,本發(fā)明公開了一種非暫態(tài)計算機可讀存儲介質(zhì),所述非暫態(tài)計算機可讀存儲介質(zhì)存儲計算機指令,所述計算機指令使所述計算機執(zhí)行上述各方法實施例所提供的方法,例如包括:s1、當啟動標簽欄控制器時,向服務器發(fā)送是否更新導航欄的請求,并接收所述服務器回復的導航欄數(shù)據(jù),所述導航欄數(shù)據(jù)中含有一定數(shù)量個待更新的信息;s2、當所述導航欄數(shù)據(jù)的類型為數(shù)組時,將所有所述待更新的信息進行排序,刪除本地的導航欄數(shù)據(jù)并保存排序后的導航欄數(shù)據(jù);以及s3、基于本地的導航欄數(shù)據(jù)中所有待更新的信息的順序,依次更新本地的導航欄數(shù)據(jù)的信息。最后,本申請的方法僅為較佳的實施方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。當前第1頁12當前第1頁12
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1