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

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. Codeforces 798D Mike and distribution(贪心或随机化)

    题目链接 Mike and distribution 题目意思很简单,给出$a_{i}$和$b_{i}$,我们需要在这$n$个数中挑选最多$n/2+1$个,使得挑选出来的 $p_{1}$,$p_{2} ...

  2. ubuntu和raspberry下调试python_spi备忘

    Ubuntu12.04 自安装python3.3中头文件Python.h路径:usr/local/python3.3/include/python3.3m Ubuntu12.04 自带的Python2 ...

  3. SQLite的sqlite_sequence表

    SQLite的sqlite_sequence表   sqlite_sequence表也是SQLite的系统表.该表用来保存其他表的RowID的最大值.数据库被创建时,sqlite_sequence表会 ...

  4. Office 各版本下载链接

    Office 2007 链接: https://pan.baidu.com/s/1pNJDlafw6KQSlljRUAQtWw 提取码: xoml 密钥:DBXYD-TF477-46YM4-W74MH ...

  5. Java Web工程连接MySQL数据库及Tomcat服务器页面中文乱码

    Java Web工程连接MySQL数据库 一. 准备工作 1.下载连接MySQL数据库的JDBC (可以去官网下,也可以去百度云找) 2.将下载的jar文件复制到Tomcat的lib目录下 3.新建一 ...

  6. Linux 端口防火墙

    举例: 开放10000端口的解决步骤如下: 1.修改/etc/sysconfig/iptables文件,增加如下一行: -A RH-Firewall-1-INPUT -m state --state ...

  7. 椭圆人头跟踪bmp图像序列 BMP Image Sequences for Elliptical Head Tracking

    BMP Image Sequences for Elliptical Head Tracking The BMP image sequences used in the head tracking d ...

  8. Kaggle的Outbrain点击预测比赛分析

    https://yq.aliyun.com/articles/293596 https://www.kaggle.com/c/outbrain-click-prediction https://www ...

  9. js逻辑非同时两次使用 !!null

    今天遇到了“!!null”的写法,百度没有找到直接的解释,翻书在<javascript高级设计>P44找到了相应的解释: 同时使用两个逻辑非操作符,实际上就会模拟Boolean()转型函数 ...

  10. nyoj 135 取石子(二) 【NIM】

    取石子(二) 时间限制:3000 ms  |  内存限制:65535 KB 难度:5 描写叙述 小王喜欢与同事玩一些小游戏.今天他们选择了玩取石子. 游戏规则例如以下:共同拥有N堆石子.已知每堆中石子 ...