-1

我正在开发一个为自己的目的垄断主线程的程序。有条件地,这个程序可能需要生成 Cocoa 窗口。但是,因为主线程不会运行事件循环(或者至少不是 a NSRunLoop),所以我想知道我是否能够使用NSRunLoop来自辅助线程的 a 来运行 UI。

我知道在 Windows 上是可能的,但是从文档中不清楚这是否可以在 Mac OS 上工作,或者如果可能的话,如何做到这一点。

一方面,NSApplicationMain必须由主线程调用。

4

1 回答 1

2

不,UI 需要在主线程上。您可以使用 NSOperation 或其他方式在后台执行操作,并在执行 performSelectorOnMainThread 时更新 UI。UI itsel 依赖于应用程序运行循环。

于 2013-03-29T05:24:22.483 回答