本地存储搜索历史记录

因为需要用到存储本地搜索,所以就提前写一下工具,简单说下分为3部分:

添加搜索记录
获取搜索历史记录
清空搜索记录

基本就是这么回事,代码实现也很简单,

#define RecordCount 5      //最多存储5条,自定义
#define SEARCH_HISTORY [[NSUserDefaults standardUserDefaults] arrayForKey:@"SearchHistory"]
@implementation SearchTool+ (void)addSearchRecord:(NSString *)searchStr
{NSMutableArray *searchArray = [[NSMutableArray alloc]initWithArray:SEARCH_HISTORY];if (searchArray == nil) {searchArray = [[NSMutableArray alloc]init];} else if ([searchArray containsObject:searchStr]) {[searchArray removeObject:searchStr];} else if ([searchArray count] >= RecordCount) {[searchArray removeObjectsInRange:NSMakeRange(RecordCount - 1, [searchArray count] - RecordCount + 1)];}[searchArray insertObject:searchStr atIndex:0];[[NSUserDefaults standardUserDefaults] setObject:searchArray forKey:@"SearchHistory"];
}+ (NSArray *)getAllSearchHistory
{return SEARCH_HISTORY;
}+ (void)clearAllSearchHistory
{[[NSUserDefaults standardUserDefaults] setObject:[[NSMutableArray alloc]init] forKey:@"SearchHistory"];
}

粗略写了个demo(代码很乱,没必要看)

下载地址在这里:
http://download.csdn.net/detail/sjl_leaf/9242131

本地存储搜索历史记录工具类相关推荐

  1. vue 前端本地存储搜索历史记录,删除某条记录,清空记录

    vue 前端本地保存搜索历史,localStorage 一.保存历史的数组是由元素组成: [ "000004 SZ"] 在页面第一次加载的时候,从localStorage中获取历史 ...

  2. 安卓 本地实现搜索历史记录

    一.自定义搜索历史记录 本地实现搜索历史记录有很多种方法,下面不多说了,我们来用SQLite来实现此功能,直接上完整代码:点击下载源码 效果一: 效果二: 1.MainActivity主函数 pack ...

  3. react native 使用AsyncStorage 存储搜索历史记录

    React Native 版本执行0.57的规则 公共方法 /** * key-value 存储* App用到的所有存储 key 名字在此处列出并注明 例如: userInfo 用户信息* searc ...

  4. Vue 历史记录的本地存储 清空历史记录

    //Search-index.vue是父组件,引用Header.vue子组件 //Header.vue> <div class="search-main">< ...

  5. [前端]本地存储搜索历史-localStorage

    搜索框获取焦点后展示搜索历史,搜索历史记录可以存储在前端,如下图所示: 现在使用localStorage存储,可以打开开发者工具-Application-Local Storage(这里使用的是Chr ...

  6. 对象存储Minio 客户端工具类,实现文件上传、图像压缩、图像添加水印

    在搭建好了MInio分布式对象存储集群后,官方提供了MInio Client 各类语言的SDK,但是无法直接使用需要进一步封装,这里将JAVA 版的的SDK结合自身业务做个简单封装. Minio 中文 ...

  7. Android实现搜索功能并本地保存搜索历史记录

    本案例实现起来很简单,所以可以直接拿来嵌入项目中使用,涉及到的知识点:  - 数据库的增删改查操作  - ListView和ScrollView的嵌套冲突解决  - 监听软键盘回车按钮设置为搜索按钮  ...

  8. Android搜索功能的案例,本地保存搜索历史记录

    同事负责开发的APP有一个搜索功能,并且需要显示搜索的历史记录,我闲暇之余帮她开发了这个功能,现把该页面抽取成一个demo分享给大家. 实现效果如图所示: 本案例实现起来很简单,所以可以直接拿来嵌入项 ...

  9. C#:一个拖拽网页图片到本地存储的小工具

    当年上学时候写的一个很简单的东西,拖动图片到程序中自动重命名保存到指定位置, 原图文地址:http://user.qzone.qq.com/652768664/blog/1363151915 usin ...

最新文章

  1. 手写体数字识别+界面
  2. 阿里云 超级码力在线编程大赛初赛 第1场(第245名)
  3. ubuntu18重启vncserver_一看必会系列:ubuntu 18.10 安装vncserver
  4. 如何优雅的关闭 Spark Streaming 程序(2种思路)
  5. 一个商人应遵守的22条规矩
  6. HTML注册页面代码实现(案例)
  7. FPGA学习记录(7)<巴特沃斯低通IIR滤波器FPGA实现>
  8. Mixly系列 | 关于Blynk,你或许不知道的几个小技巧
  9. 基于51单片机的电子密码指纹锁无线WiFi通信原理图PCB
  10. 使用MATLAB连接USRP实现收发OFDM功能代码说明
  11. `Computer-Algorithm` 有向无环图DAG
  12. 【在Angular项目中使用googlemaps】
  13. Zed Shaw:一位老程序员的建议
  14. [下载]三维卫星云图显示系统V2.0
  15. 活动安排问题与贪心算法
  16. ARUBA无线控制器内置网管功能介绍
  17. win10兼容模式怎么设置_系统不兼容怎么办 Bios设置ide兼容模式
  18. 无障碍访问的快捷方式
  19. 项目经验#关于前端后台项目的从0-1到1开发记录(二)
  20. 石油测井主要的五大方法

热门文章

  1. 喝醉的酒鬼总能找到回家的路,喝醉的小鸟则可能永远也回不了家
  2. SpringBoot+MybatisPlu+Druid集成ClickHouse
  3. android使用crosswalk webview报错
  4. 关于戴尔笔记本电脑操作中突然卡死初始化存储,自我检查然后卡兹一声的解决方法
  5. lazarus在macos里调用外部浏览器打开一个网址
  6. 华为,做千行百业与数字化间的破壁人
  7. 四神分析报告设计器 1.1.9更新
  8. Flutter高仿微信-第31篇-单聊-表情
  9. 联想g470散热_联想G470风扇声音很大怎么处理,散热也不好了。
  10. 很好看的宇宙人404模板源码