2014-03-04 48 views
0

我必须在一个框架中创建一个函数,该框架打开一个带有收音机组和一个按钮的窗口。当我点击按钮时,该功能应该打印出哪个收音机被选中。我使用带有xib文件的NSWindowController来显示表单。如何等待窗口关闭框架内?

问题是,代码在显示窗口后继续运行。 所以我尝试了一段时间我的窗口中的属性,当我点击按钮设置一个属性。 但它不起作用,因为我认为窗口在同一个线程中运行。

MyWindowController windowController = [[MyWindowController alloc initWithWindowNibName:@"MyWindow"]; 
    [windowController showWindow:self]; 
    while([windowController buttonClicked] == 0); 
    NSLog("Radio %@ is selected!", [windowController selectedRadio]); 

你知道如何等待窗口关闭并读出数据吗? 我希望你能帮助我。

回答

0

您可以将您的自我添加为代表窗口并侦听windowWillClose通知。这样你就可以在窗户关闭时得到通知。

请注意,您并未“等待”窗口toi关闭,如果不阻止runloop,则无法正常工作,但只是在调用委托方法之前闲置。另请注意,窗口控制器应自动成为窗口的委托,因此也可用于此目的。