美文网首页
2021-03-05

2021-03-05

作者: 溪风123456 | 来源:发表于2021-03-05 14:27 被阅读0次

本地模糊查询

本文记录了在OC和Swift语言中,使用NSPredicate在本地数组里进行模糊查询

  • OC篇
/// 搜索
/// @param str 关键字
- (void)p_searchCountry:(NSString *)str{
    NSMutableString *mStr = [NSMutableString stringWithString:str];
    for (int i = 0; i < str.length*2+1; i+=2) {
        [mStr insertString:@"*" atIndex:i];
    }
    NSString *aaStr = [NSString stringWithFormat:@"SELF LIKE[cd] '%@'",mStr];
    NSPredicate *predicate = [NSPredicate predicateWithFormat:aaStr];
    self.searchResultArr = [self.listArr filteredArrayUsingPredicate:predicate];
}

模糊查询的关键之处在于定义查询条件,例如:输入框输入的关键字是@"86",而我们要检索的模糊条件就必须是@"*8*6*",其中 * 号就表示了86的各种组合,比如@"10086"、@"8600"、@"A8T6M"、@"AT86M"等等,不管86是分开的还是连在一起的,是在开头还是结尾等等,都可以检索出来。

  • Swift篇
func searchCountry(searchKey: String) {
        var mStr = "*"
        for character in searchKey {
            mStr.append("\(character)*")
        }
        let predicate = NSPredicate(format: "SELF LIKE[cd] '\(mStr)'")
        let array = self.listArr.filtered(using: predicate)
        self.searchResultArr = array as NSArray
    }

Swift和OC的逻辑还是一样的,只是NSPredicate的使用语法稍有不同

相关文章

  • 前端面试每日 3+1 —— 第689天

    今天的知识点 (2021-03-05) —— 第689天 (我也要出题[http://www.h-camel.co...

  • 周五 2021-03-05 23:05 - 07:30 雨 12

    周五 2021-03-05 23:05 - 07:30 雨 12h57m 记录闪现的灵感(inspirations...

  • 简约关键~清楚什么才是人生最重要的

    2021-03-05精进第45天 | 没有记录就没有发生 2021年的事业梦想个人目标描述:达成MDRT业绩目标。...

  • 生命的底色

    我怎么如此幸运-重生189-戴红霞(2021-03-05) 我怎么如此幸运-生命的底色 1.我怎么如此幸运意想不到...

  • 天时骤变

    我怎么如此幸运-重生190-戴红霞(2021-03-05) 我怎么如此幸运-天时骤变 1.我怎么如此幸运意想不到不...

  • 2021-03-05 先育儿,还是先育己?

    【2021-03-05日精进 第289天】表现:9分 一路教育,一路成长。我深深体悟到爱才是自己改变的根本,理性...

  • 你幻想过婚后的生活吗?

    2021-03-05 我身边有一对情侣,已经订婚领证了。 在我看来,他们就是完美的结合,两个人性格都很稳重,平时都...

  • 2021-03-05

    2021.3.4周四 遇到了火车,好几天没遇到了唉,不到六点起床,吃了剩饭剩菜,还不太过瘾,想中午回来煮汤圆。给宝...

  • 2021-03-05

    难道就不知道春天看到了盛开的桃花时,说一句“桃红复含宿雨,柳绿更带朝烟”或者“几处早莺争暖树,谁家新燕啄春泥”? ...

  • 2021-03-05

    看到喜欢的东西,就要加入购物车,说不定哪一次满减就能用来凑单(゚o゚;

网友评论

      本文标题:2021-03-05

      本文链接:https://www.haomeiwen.com/subject/nomrqltx.html