iOS 利用UserDefaults快速实现常用搜索页记录工具

作者 : 开心源码 本文共1704个字,预计阅读时间需要5分钟 发布时间: 2022-05-13 共267人阅读

1.需求分析

一般搜索页的历史记录需求

  1. 存储内容为字符串
  2. 存储内容要去重
  3. 存储个数会有个上限
  4. 存储个数达到上限后要先前挤掉旧数据,保留新数据
  5. 调用动作一般为 存 / 读 / 清空一律

2.实现

.h文件

//  RPCustomTool.h//  RollingPin////  Created by RollingPin on 2020/12/31.//  Copyright © 2020 RollingPin. All rights reserved.//#import <Foundation/Foundation.h>#import <UIKit/UIKit.h>@interface RPCustomTool : NSObject/// 存+ (void)saveHistoryString:(NSString *)saveStr;/// 读+ (NSArray *)readHistoryList;/// 清空+ (void)deleteHistoryList;@end

.m文件

//  RPCustomTool.h//  RollingPin////  Created by RollingPin on 2020/12/31.//  Copyright © 2020 RollingPin. All rights reserved.//#import "RPCustomTool.h"@implementation RPCustomTool#pragma mark - 存+ (void)saveHistoryString:(NSString *)saveStr{    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];    NSArray *savedArray = [userDefaults arrayForKey:@"RPSearchHistoryMark"];    NSMutableArray *savedMuArray = [[NSMutableArray alloc]initWithArray:savedArray];    //去重    NSString *repetitiveStr = @"";    for (NSString * oneStr in savedArray) {        if ([oneStr isEqualToString:saveStr]) {            repetitiveStr = oneStr;            break;        }    }    if (repetitiveStr.length >0) {        [savedMuArray removeObject:repetitiveStr];    }    [savedMuArray addObject:saveStr];    //设置最大保存数    if(savedMuArray.count > 10)    {        [savedMuArray removeObjectAtIndex:0];    }    //最后再存储到NSUserDefaults中    [userDefaults setObject:savedMuArray forKey:@"RPSearchHistoryMark"];    [userDefaults synchronize];}#pragma mark - 读+ (NSArray *)readHistoryList{    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];    //读取数组NSArray类型的数据    NSArray *savedArray = [userDefaults arrayForKey:@"RPSearchHistoryMark"];    NSLog(@"savedArray======%@",savedArray);    return [savedArray copy];}#pragma mark - 清空+ (void)deleteHistoryList{    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];    [userDefaults setObject:[NSArray array] forKey:@"RPSearchHistoryMark"];    [userDefaults synchronize];}@end
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » iOS 利用UserDefaults快速实现常用搜索页记录工具

发表回复