首页 > 应用 > 软件技巧 > 正文

我的iOS工程结构(总结和工程实践)

2024-07-16 17:46:16
字体:
来源:转载
供稿:网友

好的架构不是设计出来的,而是进化而来的!本文是一位学习iOS开发者根据多年的经验总结了iOS工程结构,稳重总结了在开发iOS项目中工程实践,非常实用,推荐过来,一起来看看吧,希望对大家有所帮助

130813_FT_MandatoryCodeAcademy.jpg.CROP.rectangle3-large.jpg

写在前面

从2011年底开始学习iOS开发,到现在也已经快3年了,虽然中途没有一直进行iOS的开发(总是在Android和iOS间切换),但始终没有离开,而我现在的工作也一样,在iOS和Android间来回游走,正如我博客的slogan一样,“In Android&iOS”。其实对我来说,两个平台没有绝对的好坏,我都喜欢、我都热爱。有人会说,同样的产品在不同平台做两次不会觉得厌烦吗?这个问题我会给出肯定的回答,不会!因为如果你真的喜欢你所做的产品,做多少次都不会觉得烦,每一次的复盘都是一次改进的过程,很多创新都是在重复的工作中产生的。在技术层面,同一套思想用不同的技术来实现,本身就是一个加强对不同平台技术巩固和理解的过程,技术本来就是来承载和表现业务的,在实现业务的过程中加强对业务的理解、实现对业务的创新,这或许也就是堆代码和写程序的区别吧!^_^

我的iOS工程结构

接下来,我就简单介绍下我做iOS项目时使用的工程结构。首先要说的是,这只是我的工程结构,并不是规范,或许它存在很多问题和不规范的地方,我只是把它分享出来,给大家提供一个参考,也希望收到大家的一些反馈来帮助我改进!

项目结构

下图是我做iOS项目的一个常用工程结构,整体模式还是按照MVC的结构,只是在每一层做了一些细分处理,下面就简单介绍下。

1.png

iOS工程中没有像Java那样非常严格的分包机制,不过在iOS工程中我们也可以通过Group的方式在工程中实现逻辑分包,这样更有利于我们组织和管理代码,使工程结构更清晰和易于理解。在我的工程结构中,主要有如下group:

Application:这个group中放的是AppDelegate和一些系统常量及系统配置文件;

Base:一些基本父类,包括父ViewController和一些公用顶层自定义父类,其他模块的类一般都继承自这里的一些类;

Controller:系统控制层,放置ViewController,均继承于Group Base中的BaseViewController或BaseTableViewController;

View:系统中视图层,由于我比较喜欢通过代码实现界面,所以这里放的都是继承于UIView的视图,我将视图从ViewController中分离出来全部放在这里,这样能保持ViewController的精简;

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表