在项目上线之后,终于有时间对自己的项目进行总结。不是什么特别重要的经验,但是如果我们的项目中缺少了这些会麻烦很多。

    首先是创建基类,没有看过多少大神的代码,只是自己总结了点关于创建基类的经验。首先是viewcontroller 的基类,它关系到整个项目的所有导航栏的风格,在进行ios6.0的适配时也比较方便。另一个在我们的项目中创建的基类是UILabel,因为我们的整体文字的颜色不是默认的黑色,而是其他颜色,所以只为了省去一行代码也是值得的,而且这还有对ios6的适配,在ios6.0中UILabel的默认背景色是白色,在7中是无色,在基类中就只写了两行代码,但是这能省好多事啊。

    其次是警告框的处理,iPad中的警告框在我们的项目中是自定义的所以需要自己写个警告框,仿照UIAleartView的方法,在代理中传递事件。但是UIAleartView在任何地方都可以显示的强大功能不是很明白,自己写的警告框是使用addSubView的方法加载到视图上的,但是UIaleartView貌似直接显示到Window上的,所以能遮住视图中的所有东西包括导航条。后来研究了一下SVProgressHUD这个三方类,确实是直接加载到了Window上。

    还有适配的问题,包括屏幕和系统的适配,我们对于屏幕的适配进行了简单处理,就只是加了个滚动视图在上面。系统的适配首先是导航栏6比7少了20个像素点,还有我前面提到的UILabel的背景色问题,其他的到没感觉有什么,就是有几个方法在6中没有会崩溃,做个判断就可以的,或者用其他方法进行替代。

    我们的项目是在iPhone和iPad上两个端的所有在项目开始时创建的两个文件夹,分开后代表代码都得重写,所以建议在写view的时候别写死,要根据屏幕的宽高做适配啊,这样就不在麻烦的进行重写了。这中间在适配的时候写了几个常用的宏,提到宏,我们的工程中定义了一大堆的宏,在这里建议写宏的时候专门建一个.h用于放宏。我写的这些宏大都是关于颜色的,我们对于颜色处理很复杂,其中包括我们的后台接口的前缀和中间的一些参数的宏。

    最后是内存管理问题,由于之前在创建工程时使用的MRC到现在我自己都觉得自己坑了,不想麻烦的同学就用ARC吧!

    这些是创建工程时和方便后期适配的经验总结,后面会对我所遇到的技术点进行总结,包括:自定义拍照界面,图形绘制包含交互,图片的上传,iap内购,UICollectionView的我所见过的各种自定义UICollectionViewLayout包括他的无限滚动等。虽然这些知识点都是网上能搜索到的,但我所要讲的应该是很难找到的。