gpt4 book ai didi

ios - 如何检查用户是否在 4 秒内没有写任何东西?

转载 作者:行者123 更新时间:2023-11-28 13:03:16 25 4
gpt4 key购买 nike

我有下一个功能:

override func textViewDidChange(textView: UITextView) {
super.textViewDidChange(textView)

if textView.text.characters.count == 0 {
print("stopped")
} else {
print("typing")
}
}

所以,我想要下一个:

例如,用户正在输入内容并停在文本中间。我想检查一下,如果用户写了一些东西并在输入过程中停止了 4 秒以运行函数 stopped()

我这样做了:

override func textViewDidChange(textView: UITextView) {
super.textViewDidChange(textView)

if textView.text.characters.count == 0 {
print("stopped")
} else {
print("typing")
let timer = NSTimer.scheduledTimerWithTimeInterval(4.0, target: self, selector: "stopped", userInfo: nil, repeats: false)
}
}

func stopped() {
print("stopped typing")
}

但它每次都运行我的 NSTimer。那不是我想要的。

如何只运行一次?例如检查用户是否在 4 秒内没有写任何东西来运行 stopped()。就一次。

最佳答案

您需要使用 invalidate 停止前一个计时器

var timer
override func textViewDidChange(textView: UITextView) {
super.textViewDidChange(textView)

if textView.text.characters.count == 0 {
print("stopped")
} else {
timer.invalidate()
print("typing")
timer = NSTimer.scheduledTimerWithTimeInterval(4.0, target: self, selector: "stopped", userInfo: nil, repeats: false)
}
}

关于ios - 如何检查用户是否在 4 秒内没有写任何东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33389400/

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