iOS项目目录管理

学习编程的人一般都有强迫情怀,我是中毒比较深的一类人,看着别人写得乱糟的代码整个人都不好了。。。

废话不多说,po出我个人比较习惯的一种iOS项目目录管理(There are a thousand Hamlets in a thousand people’s eyes):

1、新建项目最好是选择「Single View Application」,因为后面创建项目框架的时候方便自定义;
2、项目名称等最好使用英文,版本管理不勾选;
3、项目创建好之后首先添加开发者账号,然后修改最低布署系统的版本;
4、工程采用CocoaPods管理第三方的库(P.S.:关于CocoaPods的用法网上资料很多);
5、根目录下添加 .pch 预编译头文件,并在设置中添加路径;
6、目录管理均采用实目录,开发过程中新创建的所有文件均添加在ProjectClasses目录;
ProjectClasses目录结构:>>>>>>>>>>>>>>>>>>>>>>>>>>>
—Business:业务模块,至少包含四个目录;
———Root:根控制器模块,父类封装;
———Model:数据模块;
———View:视图模块;
———ViewModel:数据处理和业务交互模块;
—Function:分离的功能模块,比如说支付、第三方登录等;
—Header:头文件、宏定义、配置等;
—Resources:资源文件;
—ToolKit:工具类;
—Vender:未被 CocoaPods 管理的第三方库;
ProjectClasses目录结构:>>>>>>>>>>>>>>>>>>>>>>>>>>>
7、图片均添加到图片管理器;
7.1、根据Business功能模块进行图片分目录管理,目录名称就是对应功能模块的目录名称;
7.2、不属于任何一个功能模块的图片存放在Other目录;
7.3、所有默认图片存放在Default目录;
7.4、图片命名“目录名_图片名称”,图片名称均遵循小驼峰原则;
8、类名均采用大驼峰原则;变量名、方法名均采用小驼峰原则;宏名全部字符大写;所有成员变量前必须加下划线;
9、一般头文件均在实现文件中引用,如有特别需要可以在声明文件中引用;

写到到这里大家肯定会很好奇为什么没有网络和数据的封装呢?
在这里要很郑重的告诉大家,由于最近开始采用RAC+MVVM+Router的框架,我对整个项目层级做了优化,把网络、数据、路由、基础工具类、通用组件全部做成了静态库,这样对APP的分层开发更有益处。

如果还是不明白的小伙伴可以先看看我做的一个简单的架构设计方案:《iOS初级架构设计》

写在最后:开发语言选择的是ObjectiveC,如果是Swift,有小部分内容会不太适合!欢迎大家批评指正!

猜你喜欢

转载自blog.csdn.net/qq_16804091/article/details/51426617