IHFKit - iOS基礎(chǔ)框架 v1.0

IHFKit是公司的基礎(chǔ)框架,使用Framework方式供應(yīng)用程序使用。其架構(gòu)如圖:

IHFKit架構(gòu)圖.png

使用方法


1 : 導(dǎo)入 IHFKit#####

直接將Kit導(dǎo)入到你的工程中,并設(shè)置framework search path 和 user search path .

2 : 移除項(xiàng)目中IHFKit帶有的第三方框架#####

IHFKit中目前用到AFNetworking ,FMDB和Masonry,如圖所示:

IHFKit使用第三方組件圖.png

3 : 框架使用

  • . 醫(yī)療數(shù)據(jù)模型
    用來(lái)統(tǒng)一項(xiàng)目中的通用數(shù)據(jù)模型,包括請(qǐng)求的網(wǎng)絡(luò)方式和處理方法,以及本地?cái)?shù)據(jù)庫(kù)的存儲(chǔ)。
    例如(Patient,Nurse,Doctor)等模型,由于很多項(xiàng)目已經(jīng)進(jìn)入穩(wěn)定狀態(tài),故不好統(tǒng)一,下一個(gè)版本實(shí)現(xiàn)。

  • . 通用控件庫(kù)
    通用控件庫(kù)目的是為了更好的調(diào)用一些通用的控件,通常是公司兩個(gè)以上的項(xiàng)目都使用到的。這些文件在ControlsLibrary下:
    控件介紹:

控件名稱 簡(jiǎn)介 使用介紹
IHFRefresh 下拉/上劃刷新控件,用于tableview, collection view,帶有刷新占位符,提示空數(shù)據(jù) http://www.lxweimin.com/p/50252f14446b
IHFSpreadSheetView 電子表格控件,指定表格行/列及內(nèi)容,可合并/拆分單元格,可左劃刪除行,拖拽合并行等。需求來(lái)自科研及護(hù)理二期護(hù)理文書(shū)等
IHFPopAnimationView 彈出視圖及自定義彈出特效 http://www.lxweimin.com/p/4cdcf4b9c8f5
IHFProgressHUD 主要是用來(lái)針對(duì)網(wǎng)絡(luò)情況給用戶的提示控件 http://www.lxweimin.com/p/db7c405ac1fe
IHFDB 基于FMDB上的一層封裝,主要用來(lái)做本地?cái)?shù)據(jù)庫(kù)的存儲(chǔ),模型和字典的轉(zhuǎn)換 http://www.lxweimin.com/p/1f6e56ed76de
IHFCalendar 可以彈出一個(gè)簡(jiǎn)單,實(shí)用的日歷! http://www.lxweimin.com/p/ba8a6b275221
IHFAlertController 更容易的使用AlertController,針對(duì)AlertView被棄用
IHFMessageNotification 消息通知,基本Socket對(duì)消息進(jìn)行推送,用戶必須上線(登錄時(shí)候調(diào)用) 使用方法見(jiàn)IHFMessageNotification.h,連接和服務(wù)器和登錄
  • . 網(wǎng)絡(luò)請(qǐng)求

網(wǎng)絡(luò)請(qǐng)求是借助AFNetworking進(jìn)行數(shù)據(jù)的請(qǐng)求。
App可以使用創(chuàng)建一個(gè)自己的業(yè)務(wù)層間接來(lái)調(diào)用,也可以直接使用網(wǎng)絡(luò)請(qǐng)求層的API來(lái)發(fā)送。(見(jiàn)IHFNetwork.h)

所有請(qǐng)求都需要封裝成IHFNetworkRequest的子類,包括請(qǐng)求的類型,地址,參數(shù)等均可自定義。
需要注意的是registerHostIP這個(gè)方法是為了方便使用IHFKit的App簡(jiǎn)化請(qǐng)求的,可以把后臺(tái)服務(wù)器的IP地址、端口號(hào)一次性注冊(cè),這樣同一個(gè)module之后發(fā)送http請(qǐng)求時(shí)就可以不用附帶這些信息。如果你的App有不同與你注冊(cè)的Ip,IHFNetworkRequest有為個(gè)specialURL,可以修改這次請(qǐng)求的URL的IP和端口。當(dāng)然你要傳給后臺(tái)的參數(shù)給可以寫(xiě)在IHFNetworkRequest的子類屬性,我們會(huì)將你的這些參數(shù)自動(dòng)轉(zhuǎn)換成字典,傳給后臺(tái)。

請(qǐng)求到的數(shù)據(jù)可以根據(jù)IHFDB中帶有的字典和模型的轉(zhuǎn)換。

假設(shè)同一個(gè)App有多個(gè)動(dòng)態(tài)庫(kù)的模塊使用到了IHFKit(舉個(gè)栗子,移動(dòng)醫(yī)生可以直接使用IHFKit, 其中病歷模塊如果是一個(gè)動(dòng)態(tài)庫(kù)的話,也可能獨(dú)立使用IHFKit;醫(yī)囑模塊也是這樣),也不會(huì)有問(wèn)題,IHFKit內(nèi)部會(huì)對(duì)調(diào)用registerHostIP的模塊及其注冊(cè)的信息做一對(duì)一關(guān)聯(lián)。。。。

  • . 數(shù)據(jù)庫(kù)存儲(chǔ)

數(shù)據(jù)庫(kù)存儲(chǔ)是借助IHFDB進(jìn)行本地?cái)?shù)據(jù)的操作。詳細(xì)適應(yīng)見(jiàn)介紹。
SQLiteUpgrade:預(yù)留用于緩存版本更新的遷移接口(尚未與緩存框架接通)

  • . 消息通知

根據(jù)IHFMessageNotification進(jìn)行消息通知,用戶必須要根據(jù)主機(jī)IP和端口連接服務(wù),然后再登錄。就可以發(fā)送消息通知和接收到消息通知。

  • . 錯(cuò)誤異常處理

1.IHFErrorCode用于定義和顯示IHEFE統(tǒng)一的錯(cuò)誤碼
2.UncaughtExceptionHandler用于捕獲未處理的異常,不過(guò)實(shí)際情況是如果捕獲的異常發(fā)生在主線程,而捕獲異常后又試圖彈出GUI界面,會(huì)導(dǎo)致界面鎖死。所以在實(shí)際使用中最好在UncaughtExceptionHandler只做邏輯上的異常處理,而不要發(fā)生用戶交互的行為。

  • . 工具類介紹
類型 名稱 大致介紹
Tool IHFBaseTool 基本工具類,調(diào)用一些經(jīng)常使用的方法
IHFBaseTool+AppUpgrading 檢測(cè)App的版本和更新
IHFBaseTool+UncaughtException 注冊(cè)異常的捕獲,防止閃退
IHFViewTool 視圖工具類
IHFValidateTool 數(shù)據(jù)檢驗(yàn)工具類,可以檢驗(yàn)一些信息,比如手機(jī)信息
IHFFileTool 文件/目錄操作工具類
IHFDeviceTool 設(shè)備系統(tǒng)、硬件信息工具類
category UIView+IHF 簡(jiǎn)化了View中frame的調(diào)用 ,比如Width,height
UIImage+IHF 將圖片拉伸或者畫(huà)圓角,模糊等
NSDate+IHF 時(shí)間的處理,時(shí)間跟字符的轉(zhuǎn)換
NSString+IHF 字符串的處理
NSDictionary+IHF 字典處理,多用于對(duì)網(wǎng)絡(luò)請(qǐng)求的一些處理
NSArray+IHF 數(shù)組處理,防止數(shù)組越界
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容