SwiftUI 和 Catalyst:[API] 无法将处理程序从 3 添加到 3 - 丢弃

SwiftUI and Catalyst: [API] cannot add handler to 3 from 3 - dropping

提问人:heiko 提问时间:3/13/2023 最后编辑:heiko 更新时间:3/22/2023 访问量:1621

问:

将我的 SwiftUI 项目转换为 Catalyst 后,我在控制台上收到以下奇怪的错误消息:

[API] 无法将处理程序从 3 添加到 3 - 删除

当视图滚动时,即使在发布模式下也会发生这种情况,而且相当多,可能是每一帧。似乎整个日志记录会减慢应用程序的速度。

很抱歉这么不具体,我只是不知道从哪里开始。 (当然,提交错误除外)

有没有人有过类似的经历?何时何地? 有没有解决方法?

苹果论坛上有一个帖子,根本无法解决问题:

https://developer.apple.com/forums/thread/719267

我在这里没有找到任何东西,也没有通过谷歌找到。

Xcode 是 14.2 macOS 13.2.1

swift macOS swiftui mac-catalyst

评论

1赞 heiko 3/22/2023
“有什么坏了吗?”这就是我担心的问题。我这边有什么可以做的吗?--- “你为什么担心这个?”好吧,至少该消息在滚动时以 60 fps 的速度向设备日志发送垃圾邮件,即使在发布模式下编译也是如此。所以,我认为,它在某种程度上影响了性能......
1赞 Dan Rosenstark 4/11/2023
同样的问题,不知道如何回答这个问题,也不知道如何使问题更精确。
1赞 HangarRash 5/9/2023
我在 UIKit Objective-C 应用程序中看到了这一点,因此它并非特定于 SwiftUI。滚动时在几个不同的表视图控制器中发生在我身上。
2赞 benc 5/12/2023
我在使用 Swift 4.2 的 UIKit 中拥有它......这在 Xcode 14.0 中可能没有发生......给我的。
1赞 George Valkov 7/16/2023
对我来说,这个问题是由TextField引起的。这可以绑定到 String 或 Float 和 NumberFormatter。当值被更改时,例如通过 Slider,它会收到垃圾邮件,并导致性能不佳。删除 TextField 将隐藏消息。屏幕上有 18 个控件,应用程序正在爬行。@State var a: Float = 0 TextField(“1-99”, value: $a, formatter: NumberFormatter()) Slider(value: $a, in: 0...99, step: 1)
2赞 Dan Rosenstark 10/20/2023
@SteveHarris这是迄今为止我听说的切换到 Xcode 15 的唯一令人信服的理由;)

答: 暂无答案