美文网首页
iOS项目目录结构

iOS项目目录结构

作者: 铃鹿山大魔王 | 来源:发表于2017-11-29 13:18 被阅读195次

目录结构的重要性

一个好的目录结构,能让人一目了然这是要干什么的;一个好的目录结构,能让人很清楚的知道自己要找的东西在哪里;一个好的目录结构就像一个干净整洁的家,能给紧张的生活带来轻松而不是压力。就像我用Windows电脑,喜欢给硬盘分:系统、下载、软件、收藏这四个区一样。但凡系统的文件,都放在系统盘之下。所有的下载,下载路径都设置为“下载”。软件安装包都放在“软件”。需要收藏的文件,都放在“收藏”。这我要取某个文件或者保存文件的时候,就很清楚我的目标路径在哪。对于开发来说,一个好的目录结构,不说在工作效率的提高上,至少是在心理上是能够给人带来轻松的。此处就分享一下我自己积累的、感觉比较好的iOS项目目录结构。

iOS项目目录

首先来看一下总的目录结构

项目目录

当我们使用创建一个项目后,除了CodeResource这2个文件夹外,其它的都是系统自动生成(Unit Tests、UI Tests没有包含)的。为了把所有的代码放到一个文件夹,所有的资源文件(图片、音频、其它)文件放到一个文件夹,因此创建了Code、Resource两个文件夹。以后我们就很明白的知道,代码文件应该进Code,资源文件应该进Resource。

接下来,我们来看看Code里面该怎么分文件夹。

Code目录

在Code下面,我们分出了四个文件目录。分别为Function(功能)、Class(类)、Libs(第三方)、Macro(配置)。

所有的项目功能(例如注册、登录等),需要写在Function目录下。

项目用的一些工具类(例如重新封装的网络请求、封装的支付类),则需要写在Class目录下。

Libs用于存放一些第三方(cocoapods上没有的),例如支付宝SDK。

Macro用于存放系统的一些配置,例如app的一些宏、颜色、请求地址管理等。

对于Function,需要写项目的一些功能,例如登录。所以其目录之下,一般都是按照功能名来进行设定目录的。而我们采用的是MVC的设计模式,所有功能名之下,必然会有MVC的目录。至于Model、View、Controller,只需要对号入座即可。

Function目录结构

对于Class,由于是存放项目的一些类,所以重新封装的网络请求、基础Controller、定位管理、订单管理等“公共”类,都需要放在这里。这个目录里的类,一般来说都是应该比较有价值的,需要我们认真的去封装书写。其目录结构如下。

Class目录结构

对于Libs,第三方类,用于存放一些第三方的库。项目的第三方主要由cocoapods来管理,但不是所有的类都能在cocoapods上找得到,所以,这个Libs还是很有必要的。例如支付宝的SDK,则只能官网下载。

Libs目录结构

最后的Macro,系统配置管理。我觉得这个也是非常重要的,将所有的系统设置项整合在一起,会很方便我们去对系统的配置进行管理。例如常用的宏、网络接口、颜色、尺寸等的控制等。

Macro目录结构

例如这里的URLConfig.h,基地址+接口地址。当服务器地址切换的时候,我们只需要更改基地址,而不用去一个个的更改接口地址了。

URLConfig结构

总结

一个好的目录结构,对于开发来说还是很重要的,尤其是对项目不是很熟悉的新成员,好的目录结构能让他很快的进入状态跟着团队一起开发。同时对于项目的维护升级,也是很有便利的。

这里是我在iOS项目开发中,个人总结的,感觉比较好的目录结构。当然,适合自己的才是最好的。每个人都会有自己习惯的目录结构,此处只做借鉴只用。

相关文章

  • [iOS-Practice] 项目结构

    总结时读到的一系列文章 iOS应用架构谈 开篇我的iOS工程结构iOS项目的目录结构-原创iOS 项目的目录结构能...

  • iOS项目目录结构

    目录结构的重要性 一个好的目录结构,能让人一目了然这是要干什么的;一个好的目录结构,能让人很清楚的知道自己要找的东...

  • IOS 项目目录结构

    项目结构林林总总,最好的是能够方便、快捷,最好的是能够让自己也让别人快速的了解项目。 Common:宏定义的头文件...

  • ios项目(Swift)目录结构

    转载自:https://blog.csdn.net/hnuzengchao/article/details/499...

  • iOS 项目的目录结构

    这个话题一直都是没有定论的。因为经验不同,选择的结构也不会完全一样,但是大体应该是一致的。总体原则是只要满足业务需...

  • iOS开发 项目目录结构

    Class:存放的是App中所有的模块功能 Base:存放一些基类,比如BaseViewController,Ba...

  • RN集成到现有应用

    配置项目目录结构首先创建一个空目录用于存放 React Native 项目,然后在其中创建一个/ios子目录,把你...

  • iOS 管理工具 xchelper

    xchelper 日常维护 iOS 项目较多, 目录结构、代码依赖、travis.yml 多有差异. xchelp...

  • ReactNative模块植入iOS 原生项目经验总结

    项目文件目录结构如下图所示:项目文件目录结构.png 目录结构解释: ReactNative目录:React Na...

  • iOS项目的目录结构参考

网友评论

      本文标题:iOS项目目录结构

      本文链接:https://www.haomeiwen.com/subject/wcgzyxtx.html