本發(fā)明涉及ios彈窗管理,尤其涉及一種ios彈窗管理方法、彈窗管理器、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、目前ios移動端在開發(fā)app(application,應(yīng)用程序)的過程中,對于業(yè)務(wù)比較復(fù)雜的中大型app,對彈窗視圖控件管理需要進(jìn)行全面且系統(tǒng)的彈窗調(diào)度?,F(xiàn)有的ios彈窗管理器大多涉及多個業(yè)務(wù)的需要,在一個界面有可能出現(xiàn)多個彈窗的使用,不同彈窗之間還可能存在一定的依賴關(guān)系,并且在彈窗生命周期中與前端頁面以及其他彈窗之間也存在一定的處理邏輯。因此,如何多維度的靈活調(diào)度彈窗成為目前亟待解決的問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提供一種ios彈窗管理方法、彈窗管理器、電子設(shè)備及計(jì)算機(jī)可讀存儲介質(zhì),其主要目的在于解決如何多維度的靈活調(diào)度彈窗成為目前亟待解決的問題。
2、為實(shí)現(xiàn)上述目的,本發(fā)明提供的一種ios彈窗管理方法,包括:
3、當(dāng)api接口的接口函數(shù)被調(diào)用時,獲取被調(diào)用的接口函數(shù)所對應(yīng)的配置對象和彈窗對象;
4、根據(jù)所述配置對象對所述彈窗對象進(jìn)行屬性配置;
5、將配置好屬性的彈窗對象加入管理隊(duì)列中以實(shí)現(xiàn)彈窗顯示。
6、本發(fā)明一實(shí)施例中,所述方法還包括:創(chuàng)建彈窗管理類,利用所述彈窗管理類設(shè)置api接口;其中,所述api接口包括若干個接口函數(shù)。
7、本發(fā)明一實(shí)施例中,所述方法還包括:對所述管理隊(duì)列中的彈窗對象進(jìn)行預(yù)配置;其中,
8、所述對所述管理隊(duì)列中的彈窗對象進(jìn)行預(yù)配置,包括:
9、獲取所述管理隊(duì)列中的所有初始彈窗對象以及對應(yīng)的屬性;
10、根據(jù)所述初始彈窗對象對應(yīng)的屬性進(jìn)行排序。
11、本發(fā)明一實(shí)施例中,所述將配置好屬性的彈窗對象加入管理隊(duì)列中,包括:
12、在所述彈窗對象符合預(yù)設(shè)協(xié)議條件時,獲取彈窗對象對應(yīng)的目標(biāo)屬性;
13、根據(jù)所述目標(biāo)屬性將所述彈窗對象插入至所述管理隊(duì)列中。
14、本發(fā)明一實(shí)施例中,在所述管理隊(duì)列插入彈窗對象或刪除彈窗對象時進(jìn)行線性加鎖。
15、本發(fā)明一實(shí)施例中,在實(shí)現(xiàn)彈窗顯示時,包括:
16、獲取所述彈窗對象的依賴關(guān)系,并獲取所述依賴關(guān)系對應(yīng)的依賴彈窗;
17、根據(jù)所述依賴關(guān)系以及所述依賴彈窗生成依賴關(guān)系數(shù)組;
18、在顯示所述彈窗對象前,根據(jù)所述依賴關(guān)系數(shù)組確定是否顯示所述彈窗對象。
19、本發(fā)明一實(shí)施例中,所述根據(jù)所述依賴關(guān)系數(shù)據(jù)確定是否顯示所述彈窗對象,包括:
20、根據(jù)所述依賴關(guān)系數(shù)組中的鍵值確定是否含有依賴彈窗;
21、若含有依賴彈窗,則對所述彈窗對象進(jìn)行顯示,在對所述依賴彈窗進(jìn)行顯示;
22、若不含有依賴彈窗,則暫停彈窗顯示。
23、本發(fā)明一實(shí)施例中,所述方法還包括:當(dāng)有新的彈窗對象加入所述管理隊(duì)列中,或當(dāng)前顯示的彈窗對象銷毀時,則觸發(fā)所述彈窗隊(duì)列重新取出即將要展示的彈窗對象。
24、本發(fā)明一實(shí)施例中,所述方法還包括:基于ios系統(tǒng)生命周期進(jìn)行彈窗管理;其中,
25、所述基于ios系統(tǒng)生命周期進(jìn)行彈窗管理,包括:
26、進(jìn)行頁面監(jiān)控,根據(jù)頁面監(jiān)控的結(jié)果獲取對應(yīng)的目標(biāo)彈窗對象;
27、根據(jù)監(jiān)控的結(jié)果對所述目標(biāo)彈窗對象進(jìn)行顯示或者銷毀。
28、為了解決上述問題,本發(fā)明還提供一種ios彈窗管理器,包括:
29、接口函數(shù)調(diào)用模塊,用于在api接口的接口函數(shù)被調(diào)用時,獲取被調(diào)用的接口函數(shù)所對應(yīng)的配置對象和彈窗對象;
30、屬性配置模塊,用于根據(jù)所述配置對象對所述彈窗對象進(jìn)行屬性配置;
31、彈窗顯示模塊,用于將配置好屬性的彈窗對象加入管理隊(duì)列中以實(shí)現(xiàn)彈窗顯示。
32、為了解決上述問題,本發(fā)明還提供一種電子設(shè)備,所述電子設(shè)備包括:
33、至少一個處理器;以及,
34、與所述至少一個處理器通信連接的存儲器;其中,
35、所述存儲器存儲有可被所述至少一個處理器執(zhí)行的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被所述至少一個處理器執(zhí)行,以使所述至少一個處理器能夠執(zhí)行上述所述的ios彈窗管理方法的步驟。
36、為了解決上述問題,本發(fā)明還提供一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)中存儲有至少一個計(jì)算機(jī)程序,所述至少一個計(jì)算機(jī)程序被電子設(shè)備中的處理器執(zhí)行以實(shí)現(xiàn)上述所述的ios彈窗管理方法的步驟。
37、本發(fā)明對彈窗視圖控件管理的過程中,進(jìn)行全面且系統(tǒng)的彈窗調(diào)度,包括但不限于對彈窗控件根據(jù)業(yè)務(wù)優(yōu)先級分級顯示、對彈窗控件和特定頁面做關(guān)聯(lián)綁定顯示、以及對彈窗控件根據(jù)系統(tǒng)生命周期進(jìn)行自動調(diào)度等特性。
38、本發(fā)明通過設(shè)置管理隊(duì)列以及彈窗依賴關(guān)系,實(shí)現(xiàn)了對復(fù)雜多彈窗依賴的顯示;通過對多線程的支持,讓業(yè)務(wù)層代碼再需要顯示彈窗的時候不需要考慮當(dāng)前線程是否實(shí)在主線程,避免了多線程資源同步問題;通過彈窗調(diào)度可根據(jù)多維度配置去管理彈窗的顯示和隱藏,無需業(yè)務(wù)層再去顯示控制彈窗的生命周期,通過增加對于彈窗基于系統(tǒng)生命周期的綁定顯示,避免了業(yè)務(wù)層邏輯再顯示的對彈窗進(jìn)行展示和銷毀。因此本發(fā)明提出的ios彈窗管理方法、彈窗管理器、電子設(shè)備及計(jì)算機(jī)可讀存儲介質(zhì),可以解決如何多維度的靈活調(diào)度彈窗的問題。
1.一種ios彈窗管理方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的ios彈窗管理方法,其特征在于,所述方法還包括:對所述管理隊(duì)列中的彈窗對象進(jìn)行預(yù)配置;其中,
3.根據(jù)權(quán)利要求1所述的ios彈窗管理方法,其特征在于,所述將配置好屬性的彈窗對象加入管理隊(duì)列中,包括:
4.根據(jù)權(quán)利要求1所述的ios彈窗管理方法,其特征在于,在所述管理隊(duì)列插入彈窗對象或刪除彈窗對象時進(jìn)行線性加鎖。
5.根據(jù)權(quán)利要求1所述的ios彈窗管理方法,其特征在于,在實(shí)現(xiàn)彈窗顯示時,包括:
6.根據(jù)權(quán)利要求5所述的ios彈窗管理方法,其特征在于,所述根據(jù)所述依賴關(guān)系數(shù)據(jù)確定是否顯示所述彈窗對象,包括:
7.根據(jù)權(quán)利要求1所述的ios彈窗管理方法,其特征在于,所述方法還包括:基于ios系統(tǒng)生命周期進(jìn)行彈窗管理;其中,
8.一種ios彈窗管理器,其特征在于,包括:
9.一種電子設(shè)備,其特征在于,所述電子設(shè)備包括:
10.一種計(jì)算機(jī)可讀存儲介質(zhì),存儲有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)根據(jù)權(quán)利要求1至7中任意一項(xiàng)所述的ios彈窗管理方法中的步驟。