“无效模式'kCFRunLoopCommonModes'...”是什么意思?

时间:2019-07-11 02:30:11

标签: uiswitch xcode11

环境: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”。

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

enter image description here

作为比较,我在工具栏上创建了一个UIBarButtonItem,它的行为正常。因此,“切换”按钮有些混乱。

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

3 个答案:

答案 0 :(得分:17)

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

所以,在我看来,这是Apple应该处理的错误。

答案 1 :(得分:7)

从Apple Developer Relations对this post的答复来看,这是UIKit中的错误,也是Apple正在跟踪的错误。在修复该错误之前,建议将其视为“对数噪声”。

答案 2 :(得分:0)

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

使用这种理论,我像这样解决了我的问题: 我将单元格分成几部分,其中带有UISwitch的单元格位于其自己的部分中。 当我从UISwitch收到回叫时,我重新加载了除带有UISwitch单元的部分之外的所有部分。