iOS酒店客房控制系統(tǒng)

1、使用UITabBarController構(gòu)建整個系統(tǒng)

a.自定義TabBar以及Controller

b.構(gòu)建燈光、空調(diào)、服務(wù)、設(shè)置控制器并添加

c.在主控制器中加載tabBar所需數(shù)據(jù),以及各子控制器的屬性設(shè)置

注:UIWindows創(chuàng)建、根控制設(shè)置、替換系統(tǒng)并設(shè)置可見。

2、整個系統(tǒng)的文件分組

分組原則:首先按控制器進(jìn)行分組,然后在每個分組中依照MVC設(shè)計(jì)模式進(jìn)一步分組。

注:本地?cái)?shù)據(jù)中心以及接收網(wǎng)絡(luò)的數(shù)據(jù)處理中心,設(shè)計(jì)時采用單例模式,接收網(wǎng)絡(luò)數(shù)據(jù)單獨(dú)開辟線程(使用系統(tǒng)提供的GCD方便)。

3、子控制器詳細(xì)

創(chuàng)建原則:xib-->View-->controller

當(dāng)有多個View時,不再進(jìn)一步創(chuàng)建控制器,創(chuàng)建一個導(dǎo)航的子View,并在controller中添加事件(也可在View中添加事件,并用代理在controller中實(shí)現(xiàn)),控制其他子View的顯示和移除。

controller中所有的數(shù)據(jù)更改都通過數(shù)據(jù)中心,有數(shù)據(jù)相應(yīng)的View,必須先更改數(shù)據(jù)中心的數(shù)據(jù),再通過數(shù)據(jù)中心數(shù)據(jù)更新View上的數(shù)據(jù),View上的操作同樣依照此類,絕對保證數(shù)據(jù)的唯一性,既數(shù)據(jù)中心數(shù)據(jù)唯一。

4、關(guān)于模型

分析每個子View,抽離出屬性,并創(chuàng)建模型,當(dāng)抽取的屬性相同時,可創(chuàng)建同一個模型,保證每個View都有一個對象對應(yīng)。

注:tabBar所使用的數(shù)據(jù)及模型不放在數(shù)據(jù)中心,由單獨(dú)的管理類管理

5、udp指令的發(fā)送

添加AsyncUdpSocket的.h和.m文件,以及相關(guān)的頭文件,添加CFNetwork庫

依照事件中隨用隨創(chuàng)建的原則

注:也可進(jìn)行進(jìn)一步的封裝,封裝指令的轉(zhuǎn)換,計(jì)時器等固定信息

6、指令的接收

接收的方法需要在單獨(dú)的線程中,在程序運(yùn)行期間不斷執(zhí)行,處理的方法需要和接收單獨(dú),每次接收到數(shù)據(jù)都交給新的線程去處理,保證接收線程永遠(yuǎn)在崗。

關(guān)于數(shù)據(jù)處理還在思考中。。。。。。

7、數(shù)據(jù)中心的初始數(shù)據(jù)

程序在啟動時,從數(shù)據(jù)庫中加載相關(guān)數(shù)據(jù),并以此來初始化View,數(shù)據(jù)庫使用ios輕型libsqlite3.0.tbd


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容