gpt4 book ai didi

ios - ReactiveCocoa 3 - bufferWithTime

转载 作者:行者123 更新时间:2023-11-29 01:43:24 26 4
gpt4 key购买 nike

我一直在桥接使用 RACSignal.bufferWithTime。据我所知,它在 RAC 3 中没有等效项吗?是否有使用 RAC3 模仿 bufferWithTime 行为的解决方法/技巧?

我的案例场景是我需要跟踪用户是否在给定的短时间内点击了两次(以捕获双击)。我基本上用大约 0.2 秒缓冲它,看看是否有超过一次点击。仅供引用,我不能使用 UIGestureRecognizer,因为我使用的是第三方对象,它只公开一个点击 API。

谢谢!

最佳答案

你不需要 bufferWithTime ,只需检查每次点击的时间戳即可完成。请按照以下步骤操作:

  1. 在第三方对象上创建点击事件信号。
  2. map点击事件的信号转换为表示当前时间的时间戳点击发生的时间
  3. 使用combinePrevious在点击事件的信号上创建一个信号,其值是两个时间戳的元组:第一个是以前的值,第二个是当前值。
  4. filter这个信号通过从第二个值中减去每个元组中的第一个值,并比较它是否满足或超过你的 0.2 -第二个阈值。

每当最终信号发送一个值时,就会在上一次点击后的 0.2 秒内发生一次点击。

关于ios - ReactiveCocoa 3 - bufferWithTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32173978/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com