gpt4 book ai didi

Swift 保持 cli 应用程序运行

转载 作者:行者123 更新时间:2023-11-28 12:35:42 25 4
gpt4 key购买 nike

有什么方法可以在用户不关闭应用程序的情况下保持应用程序运行?我发现这可以通过 RunLoop.current.run() 来完成,但是当点击应用程序时,就像应用程序完全卡住一样,我有一个在 RunLoop< 之前声明的计时器/strong> 并且似乎已正确初始化,但计时器未触发,这是一个简单的示例

import Foundation

print("start")

let _ = Timer.init(timeInterval: 1, repeats: true) { _ in
print("proc")
}

RunLoop.current.run()

print("end")

我好像没明白这是怎么回事。

问候

最佳答案

问题只是您不知道如何使用计时器。 init 它是不够的。您必须安排它。不要调用 init...,而是调用 Timer.scheduledTimer...,整个事情都会为您带来活力。然后您会看到实际上您的进程正在运行。

我放了这个(我不能使用基于 block 的计时器,因为我没有使用 Sierra)并且它工作正常:

导入基金会

class TimerHolder:NSObject {
var timer : Timer?
func timerFired(_:Timer) { print("fired") }
override init() {
super.init()
self.timer = Timer.scheduledTimer(timeInterval: 1, target: self,
selector: #selector(timerFired),
userInfo: nil, repeats: true)
}
}

print("start")

_ = TimerHolder()

RunLoop.current.run()

print("end")

关于Swift 保持 cli 应用程序运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40987305/

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