这就是我尝试在代码中做的事情:
for i in 1...1000000000 {
print(i)
self.title = "\(i)"
}
在控制台上它会打印所有内容,但我在导航栏中看不到任何更新。为什么?
实际上你可以看看CADisplayLink哪个基本上是一个与显示刷新同步的计时器。最基本的形式是这样的:
func createDisplayLink() {
let displaylink = CADisplayLink(target: self, selector: #selector(step))
displaylink.add(to: .current, forMode: .defaultRunLoopMode)
}
@objc func step(displaylink: CADisplayLink) {
// Do the updates
}
注意:请注意,这step将被调用很多,主要是在每次屏幕更新时,在当前设备上为 60-120 fps。