iOS 项目的目录结构

作者: ParallelWorld | 来源:发表于2015-11-26 00:10 被阅读668次

    这个话题一直都是没有定论的。因为经验不同,选择的结构也不会完全一样,但是大体应该是一致的。总体原则是只要满足业务需求和后期的扩展就好了。本篇博客持续更新。

    总体目录结构

    首先给出详细的目录结构图

    ├── AppDelegate
    ├── General
    ├── Module
    ├── Util
    ├── Tool
    ├── Manager
    ├── Resource
    ├── Vendor
    └── Supporting Files
    

    一级目录

    AppDelegate 作为整个应用的入口文件,没啥说的,应该单独拿出来。

    General 强业务中可以复用的都可以放在这里。当然这里的文件会越来越多,都是从Module提炼出来的。

    Module 无法复用的强业务都在这里了。一般是按照不同业务进行区分,每个业务内的文件结构由每个业务块的编写者自己决定。可以划分成MVC那种三个文件夹形式,也可以都写在一起,这个随意。不过命名方式一定要约定好,比如所有该业务的类都是以该业务英文名称开头。开发时如果发现有可以复用的模块,应该放到General中。

    Util 这部分放的是业务相关的常量,比如一些第三方库或者应用需要的key,枚举和埋点的宏定义等。

    Tool 这部分是工具模块,包括对常用方法的宏定义包装,比如屏幕尺寸,设备版本,沙盒路径、weakSelf、单例、RGB和HEX颜色等等。也包括一些常用的分类,比如判断字符串是否为空、邮箱是否合法等等。

    Manager 这里放置的是弱业务相关的类,也就是跟业务联系不是很紧密,但是又独立成体,比如定位的管理,版本的管理等等。这部分需要把接口写好,因为跟业务弱相关,将来变动的可能性很小。根据这种服务的特点,叫service层也是可以的。

    Vendor 这里放置一些不适合 Cocoapods 管理的第三方库。比如这个库本身不支持 pod;或者这个库不太适合你的业务需求,但是你又想用,这时你可能会随时修改其中的某些文件。如果采用pod,那么下次更新新的版本时就会被覆盖,还得重新修改。

    Resources 这里放置的是一些资源文件,包括音频、视频、GIF和图片,当然图片最好是放在.xcassets中,好处多多。

    Supporting Files 我一般会保留这个系统自带的文件夹,放置info.plist、main.m文件。

    二级目录

    未完待续……

    参考文章

    http://limboy.me/ios/2013/09/23/build-ios-application.html

    相关文章

      网友评论

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

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