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

#import <Foundation/Foundation.h>

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];

    }

}

ios 本地模糊搜索的更多相关文章

  1. iOS本地动态验证码生成-b

    用于ios本地动态生成验证码,效果如下: demo.gif 导入CoreGraphics.framework用于绘制图形 封装UIView,便捷使用,代码如下: AuthcodeView.h #imp ...

  2. ios本地文件内容读取,.json .plist 文件读写

    ios本地文件内容读取,.json .plist 文件读写 本地文件.json .plist文件是较为常用的存储本地数据的文件,对这些文件的操作也是一种常用的基础. 本文同时提供初始化变量的比较标准的 ...

  3. iOS开发技术分享(1)— iOS本地数据存储

    iOS开发技术分享(1)— iOS本地数据存储 前言: 我本是一名asp.net程序员,后来加入了iOS游戏开发队伍,到现在也有一年多的时间了.这一年来,每天都干到2.3点钟才睡觉,不为别的,只为了学 ...

  4. IOS 本地通知 UILocalNotification

    IOS 本地通知 UILocalNotification [本文章第四部分中的代码逻辑来自网上的借鉴,并非我自己原创] 大概一个月前,我开始跟着做IOS项目了.学习C++,了解Objective-C, ...

  5. iOS 本地通知 操作

    iOS 本地通知 操作 1:配置通知:然后退出程序: UILocalNotification *localNotif = [[UILocalNotification alloc] init]; loc ...

  6. IOS本地,APNS远程推送(具体过程)

    添加本地推送 ///本地添加 -(void)addLocalPushNotification:(UIButton*)sender; { NSLog(@"%s",__FUNCTION ...

  7. iOS(本地通知与远程通知)

    iOS 推送通知有两种:本地推送.远程推送. 本地推送 :  在不需要联网的情况下,由APP发出推送,常用于某一时刻的通知,如闹钟.本地通送有局限性在于当APP处于后台或者退出时就无法发出通知. 远程 ...

  8. IOS - 本地数据持久化

    转:相对复杂的App仅靠内存的数据肯定无法满足,数据写磁盘作持久化存储是几乎每个客户端软件都需要做的.简单如“是否第一次打开”的BOOL值,大 到游戏的进度和状态等数据,都需要进行本地持久化存储.这些 ...

  9. IOS本地通知

        发送通知: UILocalNotification *newNotification = [[UILocalNotification alloc] init]; if (newNotifica ...

随机推荐

  1. webstorm如何调试vue项目的js

    webstorm如何调试vue项目的js webstormvuewebstorm调试jsjs 1.编辑调试配置,新建JavaScript调试配置,并设置要访问的url地址,如下图所示: 在URL处填写 ...

  2. js面向对象篇(一)

    Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类). ----摘 ...

  3. Paper Reading:HyperNet

    论文:HyperNet: Towards Accurate Region Proposal Generation and Joint Object Detection 发表时间:2016 发表作者:( ...

  4. 用7天找到月薪9K的Linux运维工作,就靠这四点

    作者:99527 来源:http://www.yunweipai.com/archives/20865.html 毕业后做了1年IDC运维,每天看看服务器状态,检查检查硬盘.内存什么的,工作没什么技术 ...

  5. nginx中ngx_http_gzip_module模块

    ⽤用gzip⽅方法压缩响应数据,节约带宽gzip on;gzip_min_length 1000;gzip_proxied expired no-cache no-store private auth ...

  6. BackGroundWorker组件使用、Winform控件的Invoke安全调用

    BackgroundWorker是·net里用来执行多线程任务的控件,它允许编程者在一个单独的线程上执行一些操作. 可以通过编程方式创建 BackgroundWorker,也可以将它从"工具 ...

  7. mysql对两个字段进行自定义排序

    Mysql order by 多字段排序 ') desc,ADD_DATE desc mysql单个字段降序排序: select * from table order by id desc; mysq ...

  8. 解决eslint与webstorm关于script标签的缩进问题

    解决eslint与webstorm关于script标签的缩进问题 2018年12月29日 23:16:29 tozeroblog 阅读数 752   问题重现在vue-cli中,使用eslint时会对 ...

  9. MySQLSyntaxErrorException: Table 'taotao.tbuser' doesn't exist

    先看看表名是不是有下划线,再看看实体类有没有@TableName("tb_user") 逆向生成代码里添加设置

  10. RNN(二)——基于tensorflow的LSTM的实现

    lstm的前向结构,不迭代 最基本的lstm结构.不涉及损失值和bp过程 import tensorflow as tf import numpy as np inputs = tf.placehol ...