Swift中实现用户输入防抖动的两种方法
功能需求
用户通过App搜索服务器中的数据,当用户在搜索框中输入关键字时,要求App将关键字通过网络连接传递到服务器接口,并返回服务器的搜索结果。
这里有个问题:假设用户最终想要输入的关键字为panda,那么App一共会向服务器发送5次查询请求:
p, pa, pan, pand, panda
这无疑是低效且毫无必要的!那么如何优化请求呢?
如上图所示,我们设定了一个最小的阙值,有效避免了用户搜索抖动的问题。
在本篇博文里将会探讨GCD和Combine中两种不同防抖动的实现,超乎寻常的简单!
还等什么呢?Let’s find out!?
功能分析
0. 防抖动的原理
如顶部动画所演示的,防抖动就是避免用户多次输入所产生的冗余发送请求,以达到优