您的位置:首页 > 运维架构 > 网站架构

iOS新建项目架构规范

2016-05-11 00:00 302 查看

iOS新建项目架构规范

为了为项目代码创建一个易读性、易维护性、易扩展性都相当不错的代码模板,现在要求项目代码的搭建者按照如下的步骤进行:

所有新建项目最好是「Single View Application」



填好各个项目,这里注意,项目名称最好使用英文



项目创建好之后,第一件事就是修改最低部署系统的Target版本:


接下来就是源文件管理,我们看左侧的导航区域



非代码源文件全部移动到「Supporting Files」中;

选中Appdelegate和ViewController的.h和.m,右键「Show In Finder」,然后把Appdelegate和ViewController的.h和.m移到废纸篓,回到Xcode,删除红色的刚才我们删除的文件(也可以直接在Xcode中右键->delete->movetotrash, 但是有时候会删除地不干净);

导入我们已经准备好的项目结构文件到与项目名称相同的目录之下


,




结果是这样的:



其中文件夹`QLClasses`中是该项目中的所有源代码,`QLResources`中存放的是所有的非代码资源文件,下面就这两个文件夹的结构就新浪微博目前的结构进行详细的说明。整体的框架图如下(这才是重点):



需要注意的是图片的处理,在`QLResources`中有个`QLImages`文件夹,这个文件夹是供特殊的图片文件而设立的,你不能把所有的图片都塞到这里,这个不科学.最好还是放在Assets.xcassets中.那么到底是哪些图片呢?在有些项目中,大量使用了全屏的背景图片,这样的图片我们一定不能使用[UIImage imageNamed:@”imageName”]的方式加载,因为这个方法会把图片直接缓存到内存中,试想一下,如果很多张图片都塞进内存是什么情况?那就只能使用[UIImage imageWithContentsOfFile:@”imagePath”]的方式,但是我们知道, Assets.xcassets中的图片在生成ipa后会被打包成一个压缩文件,以减少内存的占用,这个`imagePath`从哪里来呢,所以问题就解决了,把这些图片放到这个文件夹下面,加载的时候直接用NSBundle解决path的问题,ok;

项目中肯定会遇到多个界面使用同一个数据模型的问题,最好还是在`QLMain`文件夹中创建两个文件夹`QLCommonModel`和`QLCommonView`两个文件夹,以便统一管理;

在Xcode左侧导航中看到的结构中的每一个文件夹(除却Supporting Files),必须映射到Finder中的文件夹中,这样在不打开项目的情况下,我们就可以迅速的定位出以前写过的工具类的位置,也方便在Finder中查看当前项目的结构.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: