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

来源:互联网 发布:xp禁止运行内置软件 编辑:程序博客网 时间:2024/06/03 23:47

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];


0 0