自从我使用首选项 (PreferenceKey
,..) 以来,我在控制台中收到以下消息:Bound preference _ tried to update multiple times per frame.
经过无数次的研究,我还没有找到任何办法让它静音。所以……既然这个警告还没有具体的问题,你认为可能的原因是什么?
如果没有,可以忽略此警告还是我必须修复它?
太感谢了!
(我试图找到一个例子,但不知何故我没有得到任何简单的警告......)
最佳答案
SwiftUI 更改处理程序,例如 onPreferenceChange
在任意线程上调用。因此,如果这些更改影响您的 View ,您应该重新调度以确保您在主线程上进行这些更新:
.onPreferenceChange(MyPreferenceKey.self) { newValue in
DispatchQueue.main.async {
widget.value = newValue
}
}
关于ios - SwiftUI |警告 : Bound preference _ tried to update multiple times per frame. 可能的原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64941607/