iOS項目開發(fā)文檔

項目架構(gòu)

一、基本配置

  • IDE工具:Xcode
  • 開發(fā)語言:object-C
  • iOS系統(tǒng)支持:iOS10.0+
  • iOS機型適配:iPhone6及之后機型(包含min\max\proMax)
  • 開發(fā)模式:MVC+MVVM,以MVC為主蒋得,

在某些業(yè)務(wù)量比較多的模塊使用MVVM給控制器減重夭禽,增強代碼的閱讀性和可維護性,增強View的功能箍镜,數(shù)據(jù)雙向綁定。

二、開發(fā)流程

[圖片上傳失敗...(image-b4cce9-1634026127483)]

三匿乃、三方框架

1. 三方框架的管理

使用CocoaPods進行三方框架的統(tǒng)一管理,擁有安裝豌汇、卸載幢炸、更新、查看拒贱、搜索等很多實用的功能宛徊,能快速方便的解決項目的文件依賴和路徑管理

2. 具體三方框架

  1. AFNetWorking

  2. SDWebImage

  3. MJExtention/JSONModel

  4. MJRefresh

  5. MBProgressHUD/SVProgressHUD

  6. QMUIkit

  7. YYKit

  8. FMDB

  9. IQKeyBordManager

  10. Masonry/SDAutoLayout

  11. WetCahtOpenSDK

  12. AMapLoction

  13. TZImagePackController

  14. AliyunOSSiOS

四、模塊解耦(組件化)

模塊化方案MJGRouter
MGJRouter是一個單例類逻澳,使用前需要通過注冊組件闸天,調(diào)用方通過URL調(diào)用服務(wù)方頁面,通過路由表的映射關(guān)系進行關(guān)聯(lián)斜做,調(diào)用方可以傳入復(fù) 雜的參數(shù)苞氮、對象等。
基本跳轉(zhuǎn)主要是注冊組件瓤逼,調(diào)用openURl方法笼吟,傳入?yún)?shù)即可實現(xiàn)。

[MGJRouter registerURLPattern:@"ADM://shop/car" toHandler:^(NSDictionary *routerParameters) {
    NSLog(@"admShopCarModuleRegisted",);
}];

[MGJRouter openURL:@"ADM://shop/car"];
現(xiàn)有功能可以組件化拆分的有:
  • IM
  • 購物車
  • 下單
  • 支付
  • 訂單
  • 地址
  • 消息

五抛姑、代碼規(guī)范

赞厕、、定硝、

六皿桑、項目目錄與層級

目錄層級劃分的三個原則:易讀易維護蔬啡、易擴展

模塊劃分

1. 應(yīng)用入口

AppDelegate是應(yīng)用的代理诲侮,應(yīng)用級的事件都委托它處理,包含啟動退出箱蟆、應(yīng)用前后臺狀態(tài)切換與監(jiān)聽沟绪、推送等事件,以及IM空猜、支付等第三方的回調(diào)绽慈,這使得AppDelegate內(nèi)代碼龐大恨旱,錯綜復(fù)雜,十分不利于閱讀和維護坝疼,因此新增一個AppDelegate+ServerClass類別搜贤,用來處理生命周期之外的業(yè)務(wù),AppDelegate作為事件入口钝凶,具體實現(xiàn)直接調(diào)用類別里的方法仪芒,只為更清晰。

2. 主代碼模塊

主代碼模塊包含了應(yīng)用內(nèi)的功能模塊耕陷,根據(jù)底部Tab欄劃分并關(guān)聯(lián)實體文件夾掂名。每個模塊內(nèi)使用的是MVC模式,MVC是一種設(shè)計思想哟沫,并非死套路就三個文件夾饺蔑,根據(jù)實際需求適當(dāng)增加。

3. 管理模塊

Manager的定義是全局基礎(chǔ)服務(wù)南用,通常使用類方法或者單例來實現(xiàn)膀钠,主要包含對應(yīng)用掏湾、用戶的管理和服務(wù)裹虫,例如網(wǎng)絡(luò)狀態(tài)監(jiān)聽,廣告頁應(yīng)用介紹頁等融击。

4. 工具類

Tools文件夾內(nèi)主要包含全局通用工具筑公,來源于對三方框架的二次封裝,或是自己寫的工具類尊浪。

5. 基類

Base文件夾用來存放項目的基類匣屡,基類作用包含一些定制化的內(nèi)容,例如頁面樣式拇涤,空數(shù)據(jù)頁面等捣作,使用基類來實現(xiàn),可以統(tǒng)一控制鹅士,利于維護券躁,減少冗余,也為更清晰掉盅。

6. 全局宏定義 &其他文件

全局宏顧名思義是定義了一些全局通用宏也拜。這里定義了四個:

  • PrefixHeader.pch
    pch文件的內(nèi)容能被項目中的其他所有源文件共享和訪問。是一個預(yù)編譯文件趾痘。
  • URLDefine.h(接口地址以及環(huán)境開關(guān))
  • defineHeader.h(各種賬號信息)
  • macroDefine.h(工具宏)
  • notificaHeader.h(通知和存儲key)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末慢哈,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子永票,更是在濱河造成了極大的恐慌卵贱,老刑警劉巖滥沫,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異键俱,居然都是意外死亡佣谐,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門方妖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來狭魂,“玉大人,你說我怎么就攤上這事党觅〈瞥危” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵杯瞻,是天一觀的道長镐牺。 經(jīng)常有香客問我,道長魁莉,這世上最難降的妖魔是什么睬涧? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮旗唁,結(jié)果婚禮上畦浓,老公的妹妹穿的比我還像新娘。我一直安慰自己检疫,他們只是感情好讶请,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著屎媳,像睡著了一般夺溢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上烛谊,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天风响,我揣著相機與錄音,去河邊找鬼丹禀。 笑死状勤,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的湃崩。 我是一名探鬼主播荧降,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼攒读!你這毒婦竟也來了朵诫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤薄扁,失蹤者是張志新(化名)和其女友劉穎剪返,沒想到半個月后废累,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡脱盲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年邑滨,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钱反。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡掖看,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出面哥,到底是詐尸還是另有隱情哎壳,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布尚卫,位于F島的核電站归榕,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏吱涉。R本人自食惡果不足惜刹泄,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望怎爵。 院中可真熱鬧特石,春花似錦、人聲如沸疙咸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽撒轮。三九已至,卻和暖如春贼穆,著一層夾襖步出監(jiān)牢的瞬間题山,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工故痊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留顶瞳,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓愕秫,卻偏偏與公主長得像慨菱,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子戴甩,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

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

  • 架構(gòu)圖: 架構(gòu)原則:易讀性符喝、易維護性、易擴展性甜孤。 一协饲、思考 做好一件事畏腕,花在思考上的時間應(yīng)該多于執(zhí)行。 首先根據(jù)產(chǎn)...
    Young_LI閱讀 737評論 0 1
  • APP項目搭建 上周個人剛搭建完的項目框架茉稠,在這分享一下描馅,主要還是采用MVC設(shè)計模式,沒有使用storyboard...
    深圳張學(xué)友閱讀 5,112評論 3 44
  • 一:設(shè)計模式 1:本項目采用mvvm設(shè)計模式,每個模塊下分為四個文件夾,分別為:ControllerViewVie...
    MichaelLiu_03df閱讀 4,665評論 3 33
  • 一:設(shè)計模式 1:本項目采用mvvm設(shè)計模式,每個模塊下分為四個文件夾,分別為:Controller View ...
    漠醉閱讀 4,180評論 0 3
  • 16宿命:用概率思維提高你的勝算 以前的我是風(fēng)險厭惡者而线,不喜歡去冒險铭污,但是人生放棄了冒險,也就放棄了無數(shù)的可能膀篮。 ...
    yichen大刀閱讀 6,046評論 0 4