码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发 - 第05篇 - 项目 - 11 - const & git & 项目重构

时间:2016-08-18 17:20:19      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

1、发微博键盘最近标签页完善


问题:

1>表情出现重复

2>其他标签页转换到最近标签也没有及时出现最新使用表情


1.1 表情实时刷新


方法一:切换到最近标签页,刷新最新使用表情


技术分享


注:需要在listView中表情数组的setter方法中先移除之前的控件,并在最后[selfsetNeedsLayout];


技术分享


方法二:上述方法只能在其他标签页切换到最近标签页的时候刷新表情,若在最近页需要点击表情按钮立即刷新,需要监听表情按钮点击的通知


技术分享


1.2 表情重复问题


在表情工具类,存储表情的时候增加判断,删除重复表情,再将最新的表情添加到第一个位置


技术分享


注:不能仅仅用[emotionsremoveObject:emotion];因为这只是比较内存地址来删除对象,除非重写HWEmotionisEqual方法


技术分享


1.3 频繁读写问题


问题:之前的做法,每次添加表情的时候先把沙盒中原先保存的表情全部读进来,再添加,再写入沙盒,读写比较频繁

解决办法:将最近使用的表情数组放到内存中

注:由于是类方法,不能使用属性,可以添加一个全局变量


技术分享


2、const的使用 --- 重要


注:写字符串、整形等常量的时候建议使用const,不要使用宏!!!


2.1 const使用注意


技术分享


2.2 OC中字符串常量写法


NSString* constname = @"Jack";(const修饰name)

即以后不能在修改name:name= @"Rose";


2.3 使用const好处 


1> 安全性考虑,比如一个函数中使用const修饰传递参数,可以保证在函数中只能读取参数对应的值,而不能修改

2> 与宏对比,可以节省内存,使用宏会将程序中所有用到宏的地方替换成宏对应变量,每一个变量都是一份临时内存,而使用全局const常量,可以保证永远只有一份内存


2.4 iOS项目中使用方法


注1:不能在pch文件中定义常量,否则会在每个文件中都包含该常量的定义,造成重复定义

注2:一般情况下,定义一个全局变量在.m文件中,其他文件想要访问这个全局变量可以使用extern关键字,引用该常量即可

3:在项目中使用方法:在.m文件中定义相关常量,在.h中引用常量,其他文件想要使用该常量,#import “Const.h”即可

1>HWConst.h


技术分享


2>HWConst.m


技术分享


3、git基本使用


网络教程:点击打开链接

常用命令:


技术分享


4、系统适配


#defineiOS7 ([[UIDevice currentDevice].systemVersion doubleValue] >= 7.0)


技术分享


5、项目分层


技术分享


之前的做法:在发送网络请求的控制器中直接使用AFN,这样对AFN的依赖性太高,一旦AFN升级,修改很多东西,则需要在很多控制器中修改相关代码,不易于维护。

正确做法:给项目分层,将网络相关代码分层到HttpTool,封装AFN,在控制器中直接使用HttpTool,屏蔽AFN,一旦AFN升级,直接改HttpTool即可。


技术分享


技术分享


6、集成上下拉刷新控件MJRefresh


技术分享


结束刷新调用

[self.tableViewheaderEndRefreshing];

[self.tableViewfooterEndRefreshing];


iOS开发 - 第05篇 - 项目 - 11 - const & git & 项目重构

标签:

原文地址:http://blog.csdn.net/nsryan/article/details/52239036

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!