美文网首页
2021-11-16 iOS实现对接口数据的搜索过滤

2021-11-16 iOS实现对接口数据的搜索过滤

作者: 小专注 | 来源:发表于2021-11-17 11:26 被阅读0次

需求:实现根据搜索内容 展示在TableView上,搜索之前或者搜索文本为空则直接展示接口数据

(UITextfield/UITableView)

  pod'NSPredicateSearch', '~> 0.1.2'

ViewController.m中:

#import "NSPredicateSearch/NSPredicate+Search.h"

@property (nonatomic, strong)NSMutableArray *mulArray;                                      @property (nonatomic, strong)NSMutableArray *temArray;

自定义UITextfield初始化包括:

```

1: [self.header.searchTf addTarget:self action:@selector(textFieldDidChanged:) forControlEvents:UIControlEventEditingChanged];

```

3:事件方法 和其中的优化处理

- (void)textFieldDidChanged:(UITextField *)textField {//此判断不能放在textfield的shouldChangeCharactersInRange协议方法中                                                        UITextRange *markedTextRange = textField.markedTextRange;                                             //如果存在待选文字记录,则暂不处理 markedTextRange == nil说明不存在待选文字        if (markedTextRange == nil) {                                                                                            [self selectBankList];    }}

    -(void)selectBankList{                                                                                                             //刷新表格                                                                                                                                if (self.header.searchTf.text.length == 0) {                                                                self.mulArray =self.temArray;                                                                   [self.searchTabView reloadData];                                                                                                    return;    }                                                                                                                    // 重要                                                                                                            NSPredicate *predicate = [NSPredicate predicateWithSearch:self.header.searchTf.text searchTerm:@"searchTerms"];      self.mulArray = [[NSMutableArray alloc] initWithArray:[self.temArray filteredArrayUsingPredicate:predicate]];                                                            [self.searchTabView reloadData];}

接口:↓↓↓↓↓↓↓↓↓

SearchTypeModel.h

// 筛选标识 (根据这个标识,可直接对下面两个属性做过滤搜索                              @property (strong, nonatomic) NSString* searchTerms;

@property (nonatomic, copy) NSString *ExchangeCode;                                            @property (nonatomic, copy) NSString *ExchangeName

SearchTypeModel.m                                                                                                          (NSString *)searchTerms {    return [NSString stringWithFormat:@"%@ %@ %@",self.ExchangeCode, self.ExchangeName];}


通过接口获取字典数组数据,以Model取;接口数据:数组字典参考

(lldb) po response

{

    code = 0;

    data =    (

                {

            ExchangeCode = APEX;

            ExchangeName = "Asia Pacific Exchange";

            OmnibusSupport = 0;

        },

                {

            ExchangeCode = BMD;

            ExchangeName = "Bursa Malaysia Derivatives Berhad";

            OmnibusSupport = 0;

        },

                {

            ExchangeCode = IFUS;

            ExchangeName = "ICE Futures U.S.";

            OmnibusSupport = 0;

        },

                {

            ExchangeCode = INE;

            ExchangeName = "Shanghai International Energy Exchange";

            OmnibusSupport = 0;

        },

                {

            ExchangeCode = NFX;

            ExchangeName = "Nasdaq Futures, Inc";

            OmnibusSupport = 0;

        },

                {

            ExchangeCode = NYMEX;

            ExchangeName = "New York Mercantile Exchange";

            OmnibusSupport = 0;

        },

                {

            ExchangeCode = OSE;

            ExchangeName = "Osaka Stock Exchange";

            OmnibusSupport = 0;

        },

                {

            ExchangeCode = SGX;

            ExchangeName = "Singapore Exchange";

            OmnibusSupport = 0;

        },

                {

            ExchangeCode = TFEX;

            ExchangeName = "Thailand Futures Exchange";

            OmnibusSupport = 0;

        },

                {

            ExchangeCode = TOCOM;

            ExchangeName = "Tokyo Commodity Exchange";

            OmnibusSupport = 0;

        }

    );

    msg = success;

}

相关文章

  • 2021-11-16 iOS实现对接口数据的搜索过滤

    需求:实现根据搜索内容 展示在TableView上,搜索之前或者搜索文本为空则直接展示接口数据 (UITextfi...

  • 《SQL必知必会》笔记3-过滤where、and、or、in、通

    1 过滤检索数据(WHERE) 1.1 使用WHERE子句 WHERE子句指定对搜索条件进行过滤。 注意:在同时使...

  • octave实现协同过滤推荐算法

    octave实现协同过滤推荐算法 标签:推荐算法 这是对关于电影评分的数据集使用协同过滤算法,实现推荐系统。 数据...

  • octave实现协同过滤推荐算法

    octave实现协同过滤推荐算法 标签:推荐算法 这是对关于电影评分的数据集使用协同过滤算法,实现推荐系统。 数据...

  • Filter和Listener

    1.Filter是通过实现Filter接口实现的,重写方法 ①init是开始过滤 ②destroy是结束过滤 ③d...

  • iOS搜索功能 详细教程

    iOS搜索功能 详细教程 iOS实现搜索功能的类: iOS 8.0-:UISearchBar + UISearch...

  • Filter过滤器

    创建 编写一个过滤器的类,实现Filter接口 实现接口尚未实现的方法,着重实现doFilter方法 在web.x...

  • 4. 过滤数据

    过滤数据 WHERE 子句 在SELECT 语句中,数据根据WHERE子句中指定的搜索条件进行过滤。 WHERE ...

  • 优质文集

    iOS UIWebView URL拦截 实现网页过滤,URL拦截

  • 品牌案例

    实现表格添加、删除、搜索、日期过滤器。 如果需要异步访问后台完成上述操作: 初始获取数据时,在created()钩...

网友评论

      本文标题:2021-11-16 iOS实现对接口数据的搜索过滤

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