• iOS-模糊查询


    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)。

      有点乱~~~ಥ_ಥ

  • 相关阅读:
    Java基础教程——Object类
    Java之从头开始编写简单课程信息管理系统
    动手动脑之文件流
    doc四则运算
    Java异常处理的方法
    动手动脑-异常处理
    动手动脑-Java的继承与多态
    跟踪某个类中创建对象的个数
    动手动脑--类与对象
    动手动脑
  • 原文地址:https://www.cnblogs.com/zxykit/p/6164054.html
Copyright © 2020-2023  润新知