gpt4 book ai didi

ios - 如何从外部访问for循环并使其 swift 停止

转载 作者:搜寻专家 更新时间:2023-11-01 05:37:21 25 4
gpt4 key购买 nike

我正在使用这个函数让文本一个字母一个字母地写:

extension SKLabelNode {

func setTextWithTypeAnimation(typedText: String, characterInterval: NSTimeInterval = 0.05) {
text = ""
self.fontName = "PressStart2P"
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INTERACTIVE, 0)) {
for character in typedText.characters {
dispatch_async(dispatch_get_main_queue()) {
self.text = self.text! + String(character)
}
NSThread.sleepForTimeInterval(characterInterval)
}
}
}

而且,如果用户点击屏幕,我想让 for 循环停止并立即显示完整的文本。

最佳答案

我会做这样的事情:

var ignoreSleeper = false    

@IBAction func pressButton(sender: UIButton) {
ignoreSleeper = true
}

extension SKLabelNode {

func setTextWithTypeAnimation(typedText: String, characterInterval: NSTimeInterval = 0.05) {
text = ""
self.fontName = "PressStart2P"
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INTERACTIVE, 0)) {
for character in typedText.characters {
dispatch_async(dispatch_get_main_queue()) {
self.text = self.text! + String(character)
}
if(!ignoreSleeper){
NSThread.sleepForTimeInterval(characterInterval)
}
}
}
}

编辑:就像@Breek 已经提到的

关于ios - 如何从外部访问for循环并使其 swift 停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35419428/

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