对我来说,这看起来像是 NSProgressIndicator 或 Xcode 9 中的错误:
- 在 macOS 10.12.6 中运行 Xcode 9 Beta 1 或 Beta 4。
- 文件 > 新项目、macOS、Cocoa 应用程序、Objective-C 或 Swift、ARC 与否、没有故事板、最新 (10.13) SDK。
- 在应用程序目标的环境中,设置
CA_ASSERT_MAIN_THREAD_TRANSACTIONS=1
. - 在应用程序委托中,添加一个 IBOutlet
progressIndicator
。 - 在笔尖中,将 NSProgressIndicator 添加到窗口,连接到该插座。保持复选框Indeterminate处于打开状态。
- 在,
-applicationDidFinishLaunching
打电话-startAnimation:
。progressIndicator
- 构建并运行。
预期结果:
进度指示器应该很高兴地显示不确定的进度,因为我在主线程上做了所有事情。
实际结果:
调用时应用程序崩溃,引用 CA_ASSERT_MAIN_THREAD_TRANSACTIONS
-startAnimation:
。
您可以在一个小型演示项目中看到这一点。
我做错什么了吗?我的预期结果不正确吗?
PS我在Apple的开发者论坛上问过这个问题,但在2个工作日后仍在等待版主批准,所以我删除了它并来到这里:(
更新:仍然缺乏解释,我提交了 Apple Bug 33593575。