必须在 iOS 11 内分派到主线程
Must Dispatch to Main Thread in iOS 11
在 iOS 11 之前,我能够即时重新加载 table 视图数据,而无需将重新加载分派到主线程。但是,现在我正在安装 iOS 11 的设备上进行测试,似乎我必须将每个 UI 更新分派到主线程才能使其正常工作。否则我最终会得到空的 UI 元素。即 table 包含所有行但没有标签的视图,或没有标题的按钮等。
有谁知道 iOS 11 中发生了什么变化要求这样做?有办法关闭它吗?
自古以来 Apple 就强调 所有 与 UI 元素的交互 必须 发生在 main/GUI线。不听从这个建议会导致奇怪的行为:有时它会工作正常,其他时候则不会。显然,现在他们已经改变了一些东西来使行为更可预测——它在你的特定情况下根本不再起作用,也许更普遍。
无论如何,我看不出有什么理由不简单地按照 documentation 中的说明进行操作,并确保您的 UI 从主线程得到更新。
在 iOS 11 之前,我能够即时重新加载 table 视图数据,而无需将重新加载分派到主线程。但是,现在我正在安装 iOS 11 的设备上进行测试,似乎我必须将每个 UI 更新分派到主线程才能使其正常工作。否则我最终会得到空的 UI 元素。即 table 包含所有行但没有标签的视图,或没有标题的按钮等。
有谁知道 iOS 11 中发生了什么变化要求这样做?有办法关闭它吗?
自古以来 Apple 就强调 所有 与 UI 元素的交互 必须 发生在 main/GUI线。不听从这个建议会导致奇怪的行为:有时它会工作正常,其他时候则不会。显然,现在他们已经改变了一些东西来使行为更可预测——它在你的特定情况下根本不再起作用,也许更普遍。
无论如何,我看不出有什么理由不简单地按照 documentation 中的说明进行操作,并确保您的 UI 从主线程得到更新。