Cal*_*vin 7 cocoa multithreading program-entry-point nsapplication
在NSApplicationMain的文档中,它说:
创建应用程序,从应用程序的主bundle加载主nib文件,然后运行应用程序.您必须从应用程序的主线程调用此函数[...].
"主线程"显然是指程序的第一个线程,其中main(argc, argv)start.通过NSThread文档快速浏览一下+ (BOOL)isMainThread,可以用来确定当前线程是否是"主要"线程.我运行了一些测试:无论是否NSApplicationMain已调用此方法,此方法都有效.
我的问题有两个(有些相关)部分:
NSApplicationMain什么特别之处?通过重新实现该函数,这里是学习NSApplicationMain的好地方.必须从主线程调用NSApplicationMain主要是因为
因此,由于Cocoa调用主线程中的内容,并且UI需要在同一个线程中运行,因此您需要在主线程中处理任何涉及UI的内容,包括NSApplicationMain.