我正在开发一个程序,它会为了自己的目的垄断主线程。有条件地,这个程序可能需要产生Cocoa窗口。但是,因为主线程不会运行事件循环(或者至少不是NSRunLoop
),所以我想知道我是否能够从辅助线程运行带有NSRunLoop
的UI。
我知道在Windows上可以使用相同的功能,但是从文档中可以看出这是否可以在Mac OS上运行,如果可能的话,根本不会这样做。
首先,主线程必须调用NSApplicationMain
。
答案 0 :(得分:2)
没有。 UI需要位于主线程上。您可以使用NSOperation或其他方法在后台执行操作,并更新UI正在执行performSelectorOnMainThread UI itsel依赖于应用程序运行循环。