BWProjectFramework
iOS Xcode Project Framework
Content
- Xcode項(xiàng)目架構(gòu)
- Xcode項(xiàng)目文件結(jié)構(gòu)
- Xcode項(xiàng)目代碼架構(gòu)
- iOS項(xiàng)目框架經(jīng)驗(yàn)
- Follow Me
Xcode項(xiàng)目架構(gòu)
- 掌握Xcode管理項(xiàng)目文件的機(jī)制;
- 除了Xcode作為開發(fā)iOS應(yīng)用的IDE以外,也有JetBrains的AppCode,因此在此討論的項(xiàng)目架構(gòu)是基于Xcode作為IDE來討論的;
- 使用CocoaPods對(duì)第三方庫類進(jìn)行管理,善于使用穩(wěn)定可靠的開發(fā)工具,有助于提高開發(fā)效率;
- 在此為基于Objective-C語言開發(fā)的Xcode項(xiàng)目架構(gòu)
Xcode項(xiàng)目文件結(jié)構(gòu)
文件結(jié)構(gòu)概覽
AppDelegate Class
Document
MVC
Global
Common
Network
Library
Resource
Assets.xcassets
Supporting Files
文件結(jié)構(gòu)圖示

image_project_directory_design.png
文件結(jié)構(gòu)設(shè)計(jì)
- AppDelegate Class
- Document
- MVC
- BaseVC
- BaseViewController
- Home
- Controller
- Model
- View
- OtherFunctionEntries
- Controller
- Model
- View
- BaseVC
- Global
- Macro
- Global Class
- User Class
- Common
- Category
- Class
- Utility
- FunctionManager
- View
- CustomView
- Network
- NetworkConfiguration.h
- NetworkKit Class
- Library
- Resource
- Image
- Configuration
- Database
- Sound
- Vedio
- Assets.xcassets
- Supporting Files
- main.m
- Info.plist
- LaunchScreen.storyboard
- Project.pch
文件結(jié)構(gòu)說明
AppDelegate Class
Document
開發(fā)文檔
MVC
基視圖控制器
業(yè)務(wù),子目錄為Controller,Model,View,如果需要可以添加ViewModel,或者公共業(yè)務(wù)目錄
Global
全局類
項(xiàng)目全局宏定義,全局需要用到的參數(shù),用戶參數(shù)
Common
公共類
包括了Category,Class,Utility,View
Network
網(wǎng)絡(luò)框架
Library
引入的第三方庫
Resource
資源目錄
Assets.xcassets
Supporting Files
其他重要的文件
main.m,Info.plist,LaunchScreen.storyboard,項(xiàng)目前綴頭文件“.pch”文件
Xcode項(xiàng)目代碼架構(gòu)
MVC
Model-View-Controller
MVVM
Model-View-ViewModel
iOS項(xiàng)目框架經(jīng)驗(yàn)
- 在此的項(xiàng)目架構(gòu)為一個(gè)常規(guī)的架構(gòu),通常我們都是需要根據(jù)我們App產(chǎn)品具體的需求和業(yè)務(wù)來做更加合適、合理的架構(gòu);
- 文件結(jié)構(gòu)根據(jù)復(fù)雜業(yè)務(wù)進(jìn)行進(jìn)一步地?cái)U(kuò)展;
- MVC做好職責(zé)分配,以讓復(fù)雜業(yè)務(wù)也能有很好的可維護(hù)性;
- MVVM如何更好的融入到項(xiàng)目架構(gòu)中;
- 總之,靈活的為具體的項(xiàng)目做好架構(gòu);
Follow Me
Github:https://github.com/bobwongs
本項(xiàng)目Github:https://github.com/bobwongs/BWiOSProjectFramework