http://blog.csdn.net/qq_33701006/article/details/51836914

版权声明:本文为博主原创文章,未经博主允许不得转载。

 

目录(?)[+]

 
前言:

为了巩固FMDB,就来找个简单的Demo学习一下。不好找工作啊,就学习吧,没应聘的消遣吧。

  • 简单介绍:
    模糊查询:是指确定给定的字符串是否与指定的模式匹配。

    模式可以包含常规字符和通配符字符。
Demo解析
一、创建项目/配置环境/搭建主框架
  • [详解]:当我们配置好应用环境,并且手动集成完FMDB之后,导入其依赖库libsqlite3.tbd。就来到AppDelegate中,进行应用框架的搭建。在AppDelegate中为显示主界面嵌入一个导航控制器,并显示。如图所示:

    创建项目/配置环境
    二、搭建UI
  • [详解]:创建一个UItableView和UISearchBar,分别添加到主View和tableView头视图上,并分别实现其所需的数据源方法和代理方法。如图所示:
    --上部分

    上部分

    --下部分

    下部分

    当前效果展示:

    当前效果展示
    三、创建扩展类/并封装数据库管理工具
  • [详解]:创建一个获取汉字转成拼音字符串扩展类,同时封装一个数据库管理的工具类。
    1.创建扩展类
      首先,声明一个获取汉字转换成拼音的方法
    其次,将获取的中文转换成可变字符并利用CFStringTransform转换成带声调的字符串
    再次,再转换成不带声调的拼音,并用@" "空格切割成数组。
    最后,再完成获取汉字转成拼音字符串 通讯录模糊搜索 支持拼音检索 首字母 全拼 汉字 搜索功能

    1.1声明方法

    声明方法

    1.2方法实现

    方法实现
    2.创建工具类

    如图1:

    声明

    如图2:

    单例

    如图3:

    创建表和插入

    如图4:

    查询
    四、收尾

    如图1:

    数据

    如图2:

    搜索
    五、最终显示效果

    最终显示效果
  • 知识点小结:
    1、将字符串切割成数组 componentsSeparatedByString
    2、appendString 附加的是一个已经完整的字符串。
    3、appendFormat 附加的是按指定格式、指定参数的字符串。
    4、@synchronized 的作用是创建一个互斥锁,保证此时没有其它线程对self对象进行修改。
    这个是objective-c的一个锁定令牌,防止self对象在同一时间内被其它线程访问,起到线程的保护作用。
    一般在公用变量的时候使用,如单例模式或者操作类的static变量中使用。
    5、大概意思归结出来就是两点:
    (1).__block对象在block中是可以被修改、重新赋值的。
    (2).__block对象在block中不会被block强引用一次,从而不会出现循环引用问题。
    (3).__weak只能在ARC模式下使用,也只能修饰对象(NSString),不能修饰基本数据类型(int)。

    有点乱~~~ಥ_ಥ

iOS-模糊查询的更多相关文章

  1. IOS开发数据库篇—SQLite模糊查询

    IOS开发数据库篇—SQLite模糊查询 一.示例 说明:本文简单示例了SQLite的模糊查询 1.新建一个继承自NSObject的模型 该类中的代码: // // YYPerson.h // 03- ...

  2. IOS FMDB模糊查询

    http://blog.sina.com.cn/s/blog_9630f1310101fx1d.html /查询记录 -(NSArray*)selectitemDream_desc:(JiemengS ...

  3. IOS-CoreData(增删改查、表关联、分页和模糊查询、多个数据库)

    1>什么是CoreData Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数 ...

  4. Mybatis框架的模糊查询(多种写法)、删除、添加(四)

    学习Mybatis这么多天,那么我给大家分享一下我的学习成果.从最基础的开始配置. 一.创建一个web项目,看一下项目架构 二.说道项目就会想到需要什么jar 三.就是准备大配置链接Orcl数据库 & ...

  5. js—模糊查询

    首先要明白什么是模糊查询(废话又来了),就是根据关键字把列表中符合关键字的一项或某项罗列出来,也就是要检查列表的每一项中是否含有关键字,因此抽象一下就是一个字符串中是否含有某个字符或者字符串. 以下例 ...

  6. mybatis : trim标签, “等于==”经验, CDATA标签 ,模糊查询CONCAT,LIKE

    一.My Batis trim标签有点类似于replace效果. trim 属性, prefix:前缀覆盖并增加其内容 suffix:后缀覆盖并增加其内容 prefixOverrides:前缀判断的条 ...

  7. combobox实现模糊查询自动填充

    利用winform设计软件界面时,经常用到combobox控件,但有时需要绑定数据表中的数据,更进一步,需要实现对数据表中数据的模糊查询功能.本文就讲讲述如何用C#实现combobox下拉列表的模糊查 ...

  8. [转]ORACLE中Like与Instr模糊查询性能大比拼

    instr(title,'手册')>0  相当于  title like '%手册%' instr(title,'手册')=1  相当于  title like '手册%' instr(titl ...

  9. 关系数据库SQL之基本数据查询:子查询、分组查询、模糊查询

    前言 上一篇关系数据库常用SQL语句语法大全主要是关系型数据库大体结构,本文细说一下关系型数据库查询的SQL语法. 语法回顾 SELECT [ALL|DISTINCT] <目标列表达式>[ ...

  10. StackExchange.Redis加载Lua脚本进行模糊查询的批量删除和修改

    前言 使用StackExchange.Redis没有直接相关的方法进行模糊查询的批量删除和修改操作,虽然可以通过Scan相关的方法进行模糊查询,例如:HashScan("hashkey&qu ...

随机推荐

  1. IO包中的其他类

    查看各对象API文档 打印流 PrintWriter PrintStream 序列流:对多个流进行排列合并 SequenceInputStream public static void main(St ...

  2. 编译使用tinyxml

    环境: win7 32位旗舰版,VS2010,tinyxml_2_6_2版本 1.下载tinyxml,并解压到tinyxml文件夹下 2.生成动态链接库 原生的Tinyxml只支持静态库(没有在.h文 ...

  3. ABI & API

    API defines the programning language and function entry point, arguments type, order. ABI defines th ...

  4. A New Change Problem

    题目链接 /* 给定两个互质的数,a,b,求这两个数不能表示的数的最大值和个数. 最大值=a*b-a-b; 个数 =(a-1)*(b-1)/2; */ #include <set> #in ...

  5. m,mm,mmm的用法

    通过查看android源码目录下的build/envsetup.sh文件,可知: - m:       Makes from the top of the tree. - mm:      Build ...

  6. 随机法解决TSP问题

    TSP问题一直是个头疼的问题,但是解决的方法数不胜数,很多的算法也都能解决.百度资料一大堆,但是我找到了代码比较简练的一种.随机法.下面只是个人的看法而已,如果有任何问题虚心接受. 顾名思义,随机法就 ...

  7. getWritableDatabase()与getReadableDatabase()的区别:

    getWritableDatabase取得的实例不是仅仅具有写的功能,而是同时具有读和写的功能同样的 getReadableDatabase取得的实例也是具对数据库进行读和写的功能. 两者的区别在于 ...

  8. AJAX(XMLHttpRequest)进行跨域请求方法详解(二)

    注意:以下代码请在Firefox 3.5.Chrome 3.0.Safari 4之后的版本中进行测试.IE8的实现方法与其他浏览不同. 2,预检请求 预检请求首先需要向另外一个域名的资源发送一个 HT ...

  9. Ubuntu防火墙ufw安装配置

    ubuntu 系统默认已安装ufw. 1.安装sudo apt-get install ufw2.启用sudo ufw enablesudo ufw default deny运行以上两条命令后,开启了 ...

  10. iis7支持asp(访问页面,页面存在仍然提示404)

    1. win7下安装IIS时ASP一般被默认不选中的状态,因此需要打开IIS检查功能视图栏中是否存在ASP选项,若没有则需要从控制面板->程序和 功能->打开或关闭Windows功能-&g ...