版权声明:本文为博主原创文章,未经博主同意不得转载。

https://blog.csdn.net/MyGameZone/article/details/24494765

IOS文件夹结构

说明

这些仅仅是个人的总结,仅供參考,有什么不足的地方请指出,大家一起进步。

文件夹结构组成

一般来说,文件夹结构能够由下面几个子文件夹组成:

|- AppDelegate|- Macro
|- Models
|- Geneal

|- Hepers
|- Vendors|- Resources

AppDelegate

这个文件夹下放的是 AppDelegate.h和
AppDelegate.m,由于它们是整个App
的入口,所以这个文件夹下一般就包括2
个文件。
AppDelegate

|- AppDelegate.h|- AppDelegate.m

Macro

这个文件夹下放的是整个 App会用到的宏。宏的用途也分为好几种,如作为常量,作为消息,作为函数。

Macro

  • |-  ConstantMacro.h

  • |-  MessageMacro.h

  • |-  VendorMacro.h

  • |-  ImageNameMacro.h

  • |-  UtilityMacro.h

    ...

//常量
#define PERSON_NUM 10
//消息
#define USER_MESSAGE_COLLECTION @”user_message_collection”
//第三方 AppKey
#define WEIXIN_KEY @”xxxxxxxx”
//有用宏
#define RGBColor(r,g,b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1]//图片名字
#define HOME_LOGO @”logo.png”

Models

这个文件夹下放的是和数据相关的
Model 文件Models

  • |-  PersonModel.h

  • |-  PersonModel.m

  • |-  HotelModel.h

  • |-  HotelModel.m...

    //PersonModel.h
    @class IdCard;
    @interface PersonModel : NSObject
    @property (nonatomic, strong) NSString * name;@property (nonatomic, strong) NSNumber * age;@property (nonatomic, strong) IdCard *idCard;@end

    Geneal

    这个文件夹下放的是一些 Views/Controllers/Categories等,这样划分层次更加清晰,个人建议还是依照树形结构来划分,这样某个模块出现错误能够高速定位。
    General

    |- Views
    |- HomeView

    |- AdView

    ...
    |- DetailsView

    ...
    |- Controllers

|- HomeViewController|- DetailsViewController...

|- Categories
|- UIImageView+Downloader|- UIView+Sizzle
...

Hepers

这个文件夹下放的是一些助手性的文件,如计算经纬度、坐标转换、数据库管理,这些一般都是些通用的类或者函数。
Hepers

|- DatabaseHeper|- ClientHeper
|- FileHelper
...

//ClientHeper.h
@interface ClientHeper : NSObject

+ (ClientHeper *) sharedClient;
- (void)setDefaultCachePath:(NSString *)path;- (NSString *)defaultCacheSize;
- (void)cleanDefaultCache;

Vendors

这个文件夹下放的是一些第三方类库,如
WeiXinSDK,WeiBoSDK,ASI。Vendors

|- WeiXinSDK|- WeiBoSDK|- ASIHttp
...

Resources

这个文件夹下放的是图片、声音、文本等资源。

Resources

  • |-  Images

  • |-  Sounds

  • |-  Databases

  • |-  Html...

    最后

    唯一不变的就是变化,代码的规范化上没有什么对或者不正确,仅仅是统一的规范能够提高团队合作效率。我在这里附上google
    的代码规范,希望大家能够一起进步,祝好运。 

  • PDF下载地址

  • Google C代码规范

IOS 文件夹结构的更多相关文章

  1. Cocos2dx-3.1.1 冒险01----> 文件夹结构、新项目project创建并执行

    windows开发环境:window7.vs2012.python2.7.6 Cocos2d-x 3.1.1的完整文件夹例如以下:比起曾经的2.x的版本号来说分类更规范了 watermark/2/te ...

  2. Cocos2d-x旧引擎文件夹结构

    转自:http://blog.csdn.net/lwuit/article/details/7870395 Cocos2d-x的文件夹结构例如以下: 文件夹的详细结构介绍例如以下: Box2D:物理引 ...

  3. 如何组织较大项目的MVC文件夹结构

    现在还用不到,拷贝下来备用,原文链接 2016 年 9 月 第 31 卷,第 9 期 ASP.NET Core - ASP.NET Core MVC 的功能切分 作者 Steve Smith | 20 ...

  4. 分析cocos2d-x在Android上的编译过程(1):cocco2d-x是怎样生成的Android的文件夹结构

    当新建完一个cocos2d-x的项目后.进入到项目中的proj.android中,会看到例如以下的文件夹结构 在VS先把它编译,然后导入到Eclipse中,导入完后会看到多了几个文件 watermar ...

  5. Android SVN开发实战的文件夹结构呈现

    svn有一个非常标准的文件夹结构,这是. 例如,该项目是proj.svn地址svn://proj/,然后该标准svn布局是 svn://proj/ | +-trunk +-branches +-tag ...

  6. 走进Linux01-磁盘分区与文件夹结构

    近期学习Linux,首先安装系统,遇到了磁盘分区.之前仅仅知道Linux分区是从/(根文件夹)開始的,至于磁盘格式,多块盘怎样挂载全然不了解,系统的查询了一下Linux磁盘分区和文件夹结构,整理一下. ...

  7. Cocos2d-x 3.0新引擎文件夹结构

    Cocos2d-x 3.0新引擎文件夹结构 2014年4月29日  Cocos2d-x 3.0学习 作为一个Cocos2d-x的菜鸟,我倒是挺愿意关注不同版本号之间的差别,Cocos2d-x 3.0自 ...

  8. Laravel 文件夹结构简介

    表 1.1:Laravel 文件夹结构简介 文件夹名称 简介 app 应用程序的业务逻辑代码存放文件夹 app/Console 存放自定义 Artisian 命令文件 app/Http/Control ...

  9. Java之旅hibernate(2)——文件夹结构

    Hibernate的jar最好是到官网上进行下载.下载最新的稳定的版本号.之后进行解压,以下我们介绍一下hibernate的包结构. 1.      包结构 我们能够看到包文件夹结构发生了变化.我以5 ...

随机推荐

  1. hdu 5400(思路题)

    Arithmetic Sequence Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Othe ...

  2. Codeforces 919 B. Perfect Number

      B. Perfect Number   time limit per test 2 seconds memory limit per test 256 megabytes input standa ...

  3. Debian9安装MariaDB

    一:导入密钥并添加了存储库 sudo apt-get install software-properties-common dirmngr sudo apt-key adv --recv-keys - ...

  4. Intellij从无到有创建项目

    Intellij虽然提供了很多模板可以创建maven web javaee等等各种项目,但是你知道项目从无到有到底怎么来的,各个配置分别是做什么的?现在就来一步步说明. 1.idea打开一个空文件夹: ...

  5. codeforces 979E(dp套dp)

    题意: 有n个点,编号为1~n.有的点颜色是黑色,有的点颜色是白色,有的点的颜色待涂.你还可以连一些边,但这些边一定是从小编号连到大编号的点. 对于一个确定的图,我们去统计有多少条路径满足“该路径经过 ...

  6. 小W计树

    排列组合思想. 先跑一遍最短路, 再从1节点开始搜索, 假如搜到一个点的路径长度等于最短路, 则记录到达该点的路径数 + 1. 最后遍历一遍, ans *= rec[i] 输出答案即可. 关键在于想到 ...

  7. 迅雷中Peer连接信息中的状态解释(转)

    在标准 Peer-to-Peer(P2P 点对点网络)中,以"Flags"表示 Peer Status(Peer 状态).其中: D - 正从 Peer 下载(感兴趣:解阻塞)搜索 ...

  8. 【面试 IO】【第十一篇】 java IO

    1.什么是比特(Bit),什么是字节(Byte),什么是字符(Char),它们长度是多少,各有什么区别 1>Bit最小的二进制单位 ,是计算机的操作部分 取值0或者1 2>Byte是计算机 ...

  9. [剑指Offer]2.变态跳台阶

    题目 一仅仅青蛙一次能够跳上1级台阶,也能够跳上2级--它也能够跳上n级. 求该青蛙跳上一个n级的台阶总共同拥有多少种跳法. 思路 用Fib(n)表示青蛙跳上n阶台阶的跳法数,设定Fib(0) = 1 ...

  10. webpack+vue起步

    本文基于vue1.x 基于vue2.x&webpack2.x请移步至 Vue2.x踩坑与总结Webpack2.x踩坑与总结 记得第一次知道Vue.js是在勾三股四大大的微博,那时候他开始翻译v ...