ios 用NSUserDefaults做本地化搜索记录
2015-09-01 15:35
615 查看
效果图如下:
数据库实现这个比较简单,但是这点小东西就动用数据库有点兴师动众的”赶脚”,所以用单例对象NSUserDefaults持久化数组就可以。听起来很简单,事实上呢,也很简单。直接上代码吧。
1.先alloc一个输入框
关于这个输入框: 至少输入不能为空,点击搜索的时候要判断。根据需求也可限制输入长度,毕竟递给后台的时候是模糊搜索效率也会高些。
2.创建全局的单例对象和数组(接受字符串)
先说注意点:在NSUserDefault中,不能保存自定义对象,只可保存如NSArray,NSDictionary,NSInterger,NSString等数据,我们需要像在java 中一样序列化,在oc中序列化是NSCoding协议.
3.textfield的回车代理方法
输入不为空的方法,判断数组是否有相同的字符串,如果有,那么不添加,如果没有,将字符串插入到数组0的位置,将数组打包成data,放进单例中,持久化。
4.在每次视图即将出现的方法里面,从单例对象中提取数组,赋值给表。
demo分享地址:
http://yun.baidu.com/share/link?shareid=250647388&uk=3645489950&third=15
数据库实现这个比较简单,但是这点小东西就动用数据库有点兴师动众的”赶脚”,所以用单例对象NSUserDefaults持久化数组就可以。听起来很简单,事实上呢,也很简单。直接上代码吧。
1.先alloc一个输入框
关于这个输入框: 至少输入不能为空,点击搜索的时候要判断。根据需求也可限制输入长度,毕竟递给后台的时候是模糊搜索效率也会高些。
2.创建全局的单例对象和数组(接受字符串)
先说注意点:在NSUserDefault中,不能保存自定义对象,只可保存如NSArray,NSDictionary,NSInterger,NSString等数据,我们需要像在java 中一样序列化,在oc中序列化是NSCoding协议.
3.textfield的回车代理方法
输入不为空的方法,判断数组是否有相同的字符串,如果有,那么不添加,如果没有,将字符串插入到数组0的位置,将数组打包成data,放进单例中,持久化。
4.在每次视图即将出现的方法里面,从单例对象中提取数组,赋值给表。
demo分享地址:
http://yun.baidu.com/share/link?shareid=250647388&uk=3645489950&third=15
相关文章推荐
- 苹果开发 笔记(68)MBProgressHUD
- iOS开发日记13-原生二维码的扫描和生成
- iOS GCD使用指南
- iOS中的round/ceil/floorf函数略解
- [iOS] iOS开发埋坑之路(一)
- 【IOS开发】实时显示摄像头内容
- TUTK p2p视频流H.264 iOS平台解码成功
- ios与js 交互
- ios开发职工常常遇到的问题
- IOS initWithNibName 和 loadNibNamed的区别
- IOS获取文件路径的方法
- iOS开发支付宝支付,如何判断手机上面是否有安装支付宝软件
- iOS之 coredata
- ios如何让自己的应用程序支持系统自带的分享
- iOS 字体加粗
- iOS提交遇到的新问题
- iOS 笔记(1)
- IOS 下字体 PC 上
- Mac下使用CornerstoneSVN版本管理中iOS静态库被忽略问题解决
- iOS电脑安装Pods