"invalid mode 'kCFRunLoopCommonModes' ..." 是什么意思?

What does "invalid mode 'kCFRunLoopCommonModes' ..."mean?

环境:版本 11.0 beta 3 (11M362v)

全文如下:

invalid mode 'kCFRunLoopCommonModes' provided to CFRunLoopRunSpecific - break on _CFRunLoopError_RunCalledWithInvalidMode to debug. 
This message will only appear once per execution.
Hello World

仅当我单击连接到操作的 UISwitch 按钮时才会出现此消息;在这里,打印 "Hello World"。

显然,该动作的行为不受影响。

作为比较,我在工具栏中创建了一个正常运行的 UIBarButtonItem。所以开关按钮有点可疑。

问题:为什么会出现这个,是什么意思?补救措施?

我遇到了类似的问题: 当我收到来自 UISwitch 的回调时,我重新加载了 UITableView。 我认为回调是在 UISwitch 完成更改其上下文之前启动的,并且在该状态下重新加载单元格会产生一些冲突。

根据这个理论,我解决了我的问题: 我将单元格分成几个部分,其中带有 UISwitch 的单元格在其自己的部分中。 当我收到来自 UISwitch 的回调时,我重新加载了所有部分,除了包含带有 UISwitch 的单元格的部分。

从Apple Developer Relations对this post的回复来看,这是UIKit中的一个bug,Apple正在跟踪。在错误修复之前,建议将其视为“日志噪声”。

我认为这是一个警告,Apple 应该自行修复它。即使在来自 WWDC19 的 this 示例项目中,这个问题也存在。 table的一个单元格中有一个UISwitch。当我点击它时,会出现上述警告。

因此,在我看来,这是一个 Apple 应该处理的错误。