在cocoa中从nib文件创建或弹出一个对话框

时间:2009-12-17 20:52:47

标签: objective-c

我需要从线程创建一个对话框。 我使用“initwithwindowNibName”在线程中加载一个nib文件并尝试使用“[nsapp runmodalforwindow]”弹出对话框,但对话框没有弹出..

请帮帮我。

1 个答案:

答案 0 :(得分:3)

GUI框架AppKit不是线程安全的。为了使事情正常工作,您(几乎)总是需要从主线程
更新GUI类

- Dave Dribin, Invoke on Main Thread

基本上,你会想做类似的事情:

[objectThatShowsTheDialog performSelectorOnMainThread:@selector(showTheDialog:)
                                           withObject:anObject
                                        waitUntilDone:NO];

调用在主线程上放置对话框的代码。