2014-03-04 74 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,則無法正常工作,但只是在調用委託方法之前閒置。另請注意,窗口控制器應自動成爲窗口的委託,因此也可用於此目的。