ios - 计时器设置在 iOS 中不起作用

标签 ios swift timer

我的定时器设置有问题。

我为它写的代码是:

import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var label: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()

        Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: Selector(("updateTimer")), userInfo: nil, repeats: true)
    }

    func updateTimer(){
        label.text = DateFormatter.localizedString(from: NSDate() as Date, dateStyle: DateFormatter.Style.short, timeStyle: DateFormatter.Style.short)
    }
}

我运行该应用程序,但我收到的不是计时器,而是 Thread 类型的错误。 像这样的东西:

"Thread 1: signal SIGBART"

可能是什么问题?

最佳答案

如果将 Selector(("updateTimer")) 替换为 #selector(updateTimer),事情会更好。

然后你会被告知你需要将 @objc 添加到你的 updateTimer 函数中。

不相关但不要使用 NSDate

这是你的固定代码:

class ViewController: UIViewController {
    @IBOutlet weak var label: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()

        Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(updateTimer), userInfo: nil, repeats: true)
    }

    @objc func updateTimer() {
        label.text = DateFormatter.localizedString(from: Date(), dateStyle: .short, timeStyle: .short)
    }
}

关于ios - 计时器设置在 iOS 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50880006/

相关文章:

c++ - 通过 setitimer 使用定时器时使用 Sleep()

ios - Calendar.nextDate() 在使用 .backward 作为方向时表现得非常奇怪。仅限每月最后一天

ios - 使用 SLComposeViewController 将图像发布到 Facebook

ios - Visual Studio 2015 RTM Cordova IOS 构建错误 - 找不到模块 'Q'

swift - 两个 NSDate 的计算差异是错误的 - 已修复

swift - 交互时删除节点 Spritekit

ios - 如何使用 Moya Swift 使用多部分请求上传图像?

Java util.Timer,如何重置?

ios - Swift 3 设备运动重力

c++ - 在 C++ 中实现计时器/自动收报机类需要帮助