iOS 项目目录结构

时间:2021-01-21 12:58:36


概述:

由于近期离职进行中,特整理目前负责的现有项目的目录结构和程序架构(MVC),程序架构后期整理。


目的:

第一,方便现有同事后期开发;

第二,方便后期自己开发;

第三,方便有这方面需要的开发人员参考。


内容:

主要包括:

1. 项目目录结构:

iOS 项目目录结构


 2. 项目目录结构说明: 

在 iOS 工程中我主要是通过添加文件夹,实现逻辑分包,这样有利于我们组织和管理代码,使工程结构清晰和易于理解。 下面就说一说上图项目结构中,主要文件夹的作用:

Bms:这个文件夹下主要放的是与业务相关的文件;

Application:这个文件夹下主要放的是UI相关的文件、业务控制层相关的文件、数据模型、业务逻辑相关的文件等;

BaseServer:这个文件夹下主要放的是 UI 业务逻辑相关文件和业务数据逻辑相关的文件;

Controllers:这个文件夹下主要放的是业务相关控制类,例如:UIViewcontroller;

Dtabase:这个文件夹下主要放的是数据库相关的业务文件;

Models: 这个文件夹下主要放的是业务数据实体(数据模型);

View:这个文件夹下主要放的是UI窗口组件和UI 公共组件;

Config:这个文件夹下主要放的是一些自定义的配置文件,例如:宏定义文件、自定义 .plist文件、.pch文件等;

Helpers:这个文件夹下主要放的是一些辅助业务相关的辅助文件;

IM:这个文件夹下主要放的是即时聊天相关的业务文件;

Core:这个文件夹下主要放的是一些核心代码,比如一些三方包,工具类,底层代码等;

Database:这个文件夹下主要放的是一些数据库底层核心代码;

IM:这个文件夹下主要放的是即时聊天模块的核心代码;

Libs:这个文件夹下主要放的是三方包文件,例如:FMDB 三方包;

Network:这个文件下主要放的是与服务器交互的核心文件,例如:Https、Socket、Webserver等;

Utils:这个文件夹下主要放的是一些系统常用的工具类,例如:获取时间工具类,文件大小等;

Supporting Files :这个文件夹下主要放的是系统生成的文件,比如:AppDelegate文件、info.plist文件和 main.m文件;

 Resource:这个文件夹下主要放的是一些资源文件,比如:图片文件、音频文件等;

Frameworks: 这个文件夹下主要是将用到系统的 Frameworks,整理到这个文件夹下,比如:AVFoundation.framework

Products:这个文件夹是系统自己生成的,主要放的是 .app文件。


一个好的项目目录结构其实就能体现开发者的开发思想。

特别说明:如有不妥的地方请各位提出宝贵的意见,或者是有更好的项目目录结构烦请分享。