首页 > 解决方案 > Swift Timer Loop 不会触发,但视图和控制器已连接

问题描述

我正在尝试一次打印一个字母的标题“⚡️FlashChat”。
我正在与视频一起编码,并且我已经根据讲师的代码检查了我的代码并且它匹配。
现在,当 sim 构建完成时,标题会完整打印。
我已经调整了withTimeInterval设置太快的适合度。
如果我删除循环并只执行titleLabel.text = "",标题就会消失,所以它连接正确。

提前致谢!

import UIKit

class WelcomeViewController: UIViewController {
    
    @IBOutlet weak var titleLabel: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()

        titleLabel.text = ""
        
        var charIndex = 0.0
        let titleText = "⚡FlashChat"
        for letter in titleText {
            Timer.scheduledTimer(withTimeInterval: 7.0
                * charIndex, repeats: false) {(timer)
                in
                self.titleLabel.text?.append(letter)}
        }
        charIndex += 1
        
    }
    
}

代码

标签: swiftloopstimer

解决方案


你在你的循环charIndex之外递增。for所以间隔总是等于0


推荐阅读