-1

我是新手在客觀-CI要暫停主線程的執行,直到我的申請keyWindow已經closed.I已經通過下面的代碼暫停主線程的執行,直到NSWindow關閉

[mywindow performSelector:@selector(isVisible:) onThread:[NSThread currentThread] withObject:self waitUntilDone:YES];

嘗試它保存執行。關閉mywindow主線程後不執行(在同一行中暫停)。我該怎麼做?

+0

請不要因任何原因阻塞主線程。和你的代碼沒有意義 –

+0

但它是必須的我的應用程序。 – boopathy

+1

爲什麼不退出當前操作,然後在主窗口關閉後執行它。 – sahara108

回答

1

這是不可能的;這是一個悖論:負責窗口關閉的代碼必須發生在主線程上(因爲它是AppKit/UI代碼)。如果阻塞主線程等待窗口關閉,則窗口無法關閉,因爲主線程被阻塞。任何嘗試阻塞主線程直到窗口關閉邏輯上減少到死鎖。