【发布时间】:2015-07-25 20:19:13
【问题描述】:
我在做的时候总是崩溃:
[NSWindow orderFront:nil]
来自我在我的应用程序中生成的线程。是否无法像 GTK+ 那样使用线程中的 UI 元素?
编辑: 哦,天哪,刚刚发现这个: https://stackoverflow.com/a/11900929/1828637
所以显然我不能从另一个线程使用 NSWindow,所以 objc 出来了,是否可以用 CoreFoundation 来做多线程窗口的东西?我必须从线程做,所以我正在寻找替代方法
【问题讨论】:
-
您只能在主线程上使用 UI 元素。
-
谢谢@remus 这也适用于CoreFoundation吗?
-
CF 可以在后台线程上运行,只要您触发 UI 更新的通知配置为在主线程上运行。阅读更多here
-
还有其他方法可以做到这一点,但 GCD 消除了所有的猜测,让开发人员管理线程变得非常简单。
-
我已经在我的第二条评论中链接到苹果文档 - 检查一下。过去,开始阅读吧。
标签: objective-c core-foundation