gpt4 book ai didi

ios - CADisplayLink 因为删除(来自 :forMode:) not deallocating view controller

转载 作者:行者123 更新时间:2023-11-29 05:43:25 25 4
gpt4 key购买 nike

我面临一个奇怪的问题。

所以我创建了实例并进行了分配,如下所示

var displayLink:CADisplayLink?

private func setupDisplayLink () {

self.displayLink = CADisplayLink(target: self, selector: #selector(displayLinkDidFire(link:)))
self.displayLink?.preferredFramesPerSecond = 30
self.displayLink?.add(to: .main, forMode: .common)
}

现在删除我的显示链接 Answer

self.displayLink?.remove(from: .main, forMode: .common) // comment this line and view controller correctly deallocated 
self.displayLink?.invalidate()

由于行 self.displayLink?.remove(from: .main, forMode: .common) 我的 deinit 方法未在 View Controller 中调用

在内存图中我无法识别真正的问题。我很幸运,我尝试评论该行并且它有效

enter image description here

为什么会这样呢?

最佳答案

像这样停止displayLink:

displayLink?.invalidate()
displayLink = nil

关于ios - CADisplayLink 因为删除(来自 :forMode:) not deallocating view controller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56355420/

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