我需要从线程创建一个对话框。 我使用“initwithwindowNibName”在线程中加载一个nib文件并尝试使用“[nsapp runmodalforwindow]”弹出对话框,但对话框没有弹出..
请帮帮我。
答案 0 :(得分:3)
GUI框架AppKit不是线程安全的。为了使事情正常工作,您(几乎)总是需要从主线程更新GUI类
- Dave Dribin, Invoke on Main Thread
基本上,你会想做类似的事情:
[objectThatShowsTheDialog performSelectorOnMainThread:@selector(showTheDialog:) withObject:anObject waitUntilDone:NO];
调用在主线程上放置对话框的代码。