iOS項目分層

主項目中的分層主要包含四個模塊,Main(主要)、Expand(擴展)、Resource(資源)、Vender(第三方),還有本項目是有多個Tag,用於區分不一樣的版本,好比本地環境測試版、產品版,主要是經過Tag來區分,不一樣的標識對應不一樣的鏈接地址;固然也能夠設置其它不一樣的內容;網絡

2.1 Main(主要)模塊的內容工具

此模塊主要目的是爲了存放項目的頁面內容,好比MVC的內容,Base(基類)用於存放一些公共的內容,其它功能模塊的提取,方便繼承調用;在本實例中已經在BaseController整理的一個公用的ViewController測試

2.2 Expand(擴展)模塊的內容字體

此模塊主要包含Const、Macros、Tool、NetWork、Category、DataBase六個子模塊;spa

2.2.1 Macros(宏)主要存放宏定義的地方,這邊有兩個宏文件,Macros.h主要是項目的一些主要宏,好比字體、版本、色值等,而ThirdMacros.h主要用於存放一些第三放SDK的key值;插件

2.2.2 Tool(工具類)主要存放一些經常使用的類,此處Logger用於存放日誌的封裝幫助類,Reachability用於存放判斷網絡狀態的幫助類;日誌

2.2.3 Network(網絡)這邊主要用到YTKNetwork 是猿題庫 iOS 研發團隊基於 AFNetworking 封裝的 iOS 網絡庫,這邊是對它進行一些修改,爲了知足不一樣Tag及不一樣的功能模塊可能訪問不一樣URL的要求;blog

2.2.4 Category(分類)主要用到Git上面iOS-Categories分類的內容,多建立一個Other用於存放平時要擴展的分類;繼承

2.3 Resource(資源)模塊的內容圖片

資源模塊主要包含三方面,Global(全局)、Image(圖片)、Plist(配置文件);

2.3.1 Global用於存放項目一些全局的內容,包含啓動項的內容LaunchScreen.storyboard、頭部引用PrefixHeader.pch、語言包File.strings

2.3.2 Image用於存放圖片資源,能夠根據功能模塊進行再分不一樣的xcassets文件;

2.3.3 Plist用於存放plist文件,主要是本項目中會建立多個的Tag,而每一個Tag都會有自個的plist文件進行管理,因此統一存放方便管理;

2.4 Vender(第三方)模塊的內容

雖然項目中已經用Pod來管理第三方插件,但對於一些可能要進行修改的第三方能夠存放在這邊,本實例中引用的幾個比較經常使用的第三方插件,簡單介紹其中的幾個,GVUserDefaults是對UserDefaults的封裝,簡單就能夠用於存取操做;JDStatusBarNotification是在狀態欄提示效果的插件;ActionSheetPicker底部彈出如時間選擇、選項的插件;QBImagePickerController是照片選擇插件,支持多選並能夠設置最多選擇張數;

相關文章
相關標籤/搜索