UITextField中文搜索
导入头文件
#import "ChineseInclude.h"
#import "PinYinForObjc.h"
NSMutableArray *searchResults;//可变数组,添加搜索到的数据
设置数据源
- (NSArray *)dataArray {if (!_dataArray) {_dataArray = @[@"百度",@"六六",@"谷歌",@"苹果",@"and",@"table",@"view",@"and",@"and",@"苹果IOS",@"谷歌android",@"微软",@"微软WP",@"table",@"table",@"table",@"六六",@"六六",@"六六",@"table",@"table",@"table"];}return _dataArray; }
监听textField
[_textField addTarget:self action:@selector(textFieldEditChanged:) forControlEvents:UIControlEventEditingChanged];
当输入的时候进行搜索
- (void)textFieldEditChanged:(UITextField *)mySearchBar {searchResults = [[NSMutableArray alloc]init];if (mySearchBar.text.length>0&&![ChineseInclude isIncludeChineseInString:mySearchBar.text]) {for (int i=0; i<self.dataArray.count; i++) {if ([ChineseInclude isIncludeChineseInString:self.dataArray[i]]) {NSString *tempPinYinStr = [PinYinForObjc chineseConvertToPinYin:self.dataArray[i]];NSRange titleResult=[tempPinYinStr rangeOfString:mySearchBar.text options:NSCaseInsensitiveSearch];if (titleResult.length>0) {[searchResults addObject:self.dataArray[i]];}// NSString *tempPinYinHeadStr = [PinYinForObjc chineseConvertToPinYinHead:self.dataArray[i]]; // NSRange titleHeadResult=[tempPinYinHeadStr rangeOfString:mySearchBar.text options:NSCaseInsensitiveSearch]; // if (titleHeadResult.length>0) { // [searchResults addObject:self.dataArray[i]]; // } }else {NSRange titleResult=[self.dataArray[i] rangeOfString:mySearchBar.text options:NSCaseInsensitiveSearch];if (titleResult.length>0) {[searchResults addObject:self.dataArray[i]];}}}} else if (mySearchBar.text.length>0&&[ChineseInclude isIncludeChineseInString:mySearchBar.text]) {for (NSString *tempStr in self.dataArray) {NSRange titleResult=[tempStr rangeOfString:mySearchBar.text options:NSCaseInsensitiveSearch];if (titleResult.length>0) {[searchResults addObject:tempStr];}}}NSLog(@"搜索结果:%@",searchResults); //在这里刷新// [_tableView reloadData]; }
效果图:
Demo下载链接:http://pan.baidu.com/s/1bncyjZD
转载于:https://www.cnblogs.com/hxwj/p/4539245.html
UITextField中文搜索相关推荐
- 国产搜索引擎首超Google 中文搜索瓦解霸权?
最近,由计算机世界报登载的2005年清华大学IT可用性实验室对中文搜索引擎的质量对比评测结果显示(报告详情参考http://tiuc.ie.tsinghua.edu.cn/researchconten ...
- html 正则表达式 中文,正则表达式的中文搜索
这几天在研究爬虫,想在抓回来的文本中找出中文来,就捎带着研究了一下正则.没想到一如侯门深似海. 关于正则,有个很出名的笑话:有个程序员遇到了问题,他决定要用正则表达式去解决.现在他有了两个问题.(实用 ...
- 四、深入elasticsearch中文搜索
@Author : By Runsen @Date : 2020/6/12 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘 ...
- solr中文搜索倒排索引和数据存储结构
solr中文搜索倒排索引和数据存储结构 我们传统的方式(正排索引)是从关键点出发,然后再通过关键点找到关键点代表的信息中能够满足搜索条件的特定信息,既通过KEY寻找VALUE.而Lucene的搜索则是 ...
- Laravel + Elasticsearch 实现中文搜索
安装Elasticsearch-php https://github.com/elastic/elasticsearch-php 使用composer安装: 在项目目录下,执行以下命令 compose ...
- 迅龙中文搜索 0.7 nSearch版 C# 源代码下载
迅龙中文搜索 0.7 nSearch版 C# 源代码下载 源代码 2007.2.27日发布 下载 http://gforge.osdn.net.cn/projects/xunlong/ 以发展 ...
- gitlab:不能中文搜索
摘要:只从上次将gitlab迁移升级到 14.4.0-ee 后,出现了搜索不能使用的情况.个人用的少,也没有管他,今天看已经更新到 15.3.3-ee 版本.以此进行了版本升级后,发现还是不行.度娘一 ...
- 电脑商情报LUCENE.CN中文搜索CLUB聚会
电脑商情报LUCENE.CN中文搜索CLUB聚会 替葛帅宣传一下: 看看下面的名单吧, 名家大腕,应声云集.搜索爱好者的确需要定期来这样一的聚会啊 lucene.cn与电脑商情报联合举办搜索引擎技术网 ...
- 关于百度和Google的中文搜索
其实已经不用再说了,Google对中文搜索就是垃圾.无数次搜索充分验证Google就是不如百度. 今天还是忍不住又给Google一次机会,结果还是一样的失望. 关键词:您的社保是中断状态,请赶快联系原 ...
最新文章
- Python的知识点 plt.plot()函数细节
- docker update_DevOps核心:使用Docker部署Jenkins持续集成服务器
- 浅谈jsp的7个动作
- 用java调用oracle存储过程总结二
- 【赠书】掌握人工智能重要主题,深度强化学习实践书籍推荐
- boost::parallel::distributed_property_map用法的测试程序
- basemap安装_【我是解决安装问题系列_1】Mac python basemap安装
- ui-router 1.0 001 - resolve, component, sref-active
- 断言失败的vc++文档_了解C / C ++中的断言
- 操作系统读写者问题实验报告_Linux操作系统存储子系统核心技术之硬盘与RAID
- 安装tensorflow踩的那些坑
- 在Win 10 中插入U盘,电脑没有弹出也不显示盘符,在其他电脑就可以【亲测有效】
- TiDB-explain详解
- 关于Android SD卡
- 摄影的工作原理:相机,镜头等
- 入门数据分析,需要会什么
- 零基础制作【武林外传】辅助工具(一)
- mac -- brew下载非常慢(2020最新方法)
- 笔记本电脑java记事本在哪_系统自带有记事本吗_电脑自带的记事本在哪-win7之家...
- 爱数备份--新建备份计划