美文网首页
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