iOS App 项目目录结构的搭建
关于目录结构该如何分类,该文章给出两种常用的方式:http://www.jianshu.com/p/77a948bcbc38
注意创建目录时,最好进入项目目录里手动创建文件夹,不要在Xcode中创建,因为在Xcode中创建的都是虚拟的目录,这样在Finder中所有类都在一个目录下很混乱。
关于目录的划分常用的有两种方式:
方式一:最外层是按照MVC划分,每个目录下再根据业务模块划分如:
- Model(模型)
- 业务模块1
- 业务模块2
- View(视图)
- 业务模块1
- 业务模块2
- Controller(控制器)
- 业务模块1
- 业务模块2
- Expand(扩展)
- Category(类别)
- Tool(工具)
- Macros(宏)
- Const(常亮)
- Vender(第三方)
- Other(其它)
- AppDelegate.h
- AppDelegate.m
- main.m
- Resource(资源)
- Plist
- Image
在开发中开发人员经常按业务分配工作任务, 比如A开发者负责开发 我的模块,Ta就需要在MVC文件夹中来回切换,显然不够方便
方式二:最外层根据业务模块划分,每个模块再按MVC进行划分
这里的功能模块不光指UITabBarController的5大模块,大模块中的某个模块也可以单独拿出来如设置模块,例如
- Classes
- Xxx(模块1)
- Controller
- View
- Model
- Xxx(模块2)
- Controller
- View
- Model
- Xxx(模块3)
- Controller
- View
- Model
- Xxx(模块4)
- Controller
- View
- Model
- Xxx(模块5)
- Controller
- View
- Model
- Common(公用)
- Controller
- View
- Model
- Main(主要)
- Controller
- View
- Model
- Setting(设置)
- Controller
- View
- Model
- Other(其它)
- Category(类别)
- Until(工具)
- Xxx(模块1)
- Resource
- Image(图片)
- Plist
一般情况下一个App都需要自定义一些东西,可以放在Common中,如
XxxTabBarController
XxxTabBar
XxxNavigationController
BaseViewController
BaseModel 等
注意Xcode工程中每个虚拟的文件夹在Finder中都最好有一个真实的物理文件夹存在