环境: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,它的行为正常。因此,“切换”按钮有些混乱。
问题:为什么会出现,这是什么意思?补救措施?
答案 0 :(得分:17)
我认为这是对Apple应该自行修复的警告。即使在来自WWDC19的this示例项目中,也存在此问题。表的单元格中有一个UISwitch。当我点击它时,会出现上述警告。
所以,在我看来,这是Apple应该处理的错误。
答案 1 :(得分:7)
从Apple Developer Relations对this post的答复来看,这是UIKit中的错误,也是Apple正在跟踪的错误。在修复该错误之前,建议将其视为“对数噪声”。
答案 2 :(得分:0)
我有一个类似的问题: 当我从UISwitch收到回叫时,我重新加载了UITableView。 我认为回调是在UISwitch完成更改其上下文之前发起的,并且在该状态下重新加载单元会产生一些冲突。
使用这种理论,我像这样解决了我的问题: 我将单元格分成几部分,其中带有UISwitch的单元格位于其自己的部分中。 当我从UISwitch收到回叫时,我重新加载了除带有UISwitch单元的部分之外的所有部分。