ios 本地模糊搜索
阅读原文时间:2023年07月11日阅读:1

/* 手机 选择区域 模型 */

#import

NS_ASSUME_NONNULL_BEGIN

@interface MYSelectAreaModel : NSObject

@property (nonatomic,strong) NSString *country; /* 国家 */

@property (nonatomic,strong) NSString *areaCode; /* 区号 */

@property (nonatomic,assign) NSInteger phoneLength; /* 电话长度 */

@property (nonatomic,strong) NSString *prefix; /* 国家首字母前缀 */

@end

NS_ASSUME_NONNULL_END

/* 本地模糊搜索 */

  • (void)sy_search:(NSString *)search{

// MYSelectAreaModel 模型

// areaArray 数据原数组

// search 搜索关键词

// predicate 模糊搜索的谓词

// resultArrM 模糊搜索出的数组

NSArray \*dictArray = \[MYSelectAreaModel mj\_keyValuesArrayWithObjectArray:self.areaArray\];

NSLog(@"%@", dictArray);

if (search.length > ) {//搜索关键词不为空

    NSPredicate \*predicate = \[NSPredicate predicateWithFormat: @"country CONTAINS %@ || areaCode CONTAINS %@ || prefix CONTAINS %@" ,search,search,search\];

    NSMutableArray \*itemArray = \[NSMutableArray arrayWithArray:\[dictArray filteredArrayUsingPredicate:predicate\]\];

    self.resultArrM = \[MYSelectAreaModel mj\_objectArrayWithKeyValuesArray:itemArray\];

}else {//搜索关键词为空显示全部数据

    self.resultArrM = \[NSMutableArray arrayWithArray:self.areaArray\];

}

}