美文网首页
Swift实现延迟搜索

Swift实现延迟搜索

作者: liam_7 | 来源:发表于2017-05-03 14:14 被阅读107次

    场景

    当我们在做一个搜索功能时,为了给用户一个更好的体验。

    通常做法

    设定一个延迟时间(1.0秒),如果输入的连续时间间隔小于1.0秒就不执行搜索方法,直到大于1.0秒。

    在iOS下我们可以使用perform方法来实现,以swift为例:

    1.创建一个延迟执行请求

    /// 延迟方法
    ///
    /// - Parameters:
    ///   - aSelector: 执行延迟搜索的方法
    ///   - anArgument: 搜索参数
    ///   - delay: 设定一个延迟时间(1.0秒)
    open func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    

    2.当输入的连续时间间隔小于设定的时间(1.0秒),取消历史创建的延迟请求。

    /// 取消先前使用perform(_:with:afterDelay:)实例方法注册的延迟执行请求。
    /// 
    /// - Parameter aTarget: 先前使用perform(_:with:afterDelay:)实例方法注册的请求的目标。
    open class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    

    Demo下载地址:LPDelayedSearch

    结语

    这个demo比较简单,如果大家有什么问题或者有更好的实现方式,欢迎随时交流。😊😊😊

    相关文章

      网友评论

          本文标题:Swift实现延迟搜索

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