2015-03-25 60 views
1

我有一個NSWindow可以關閉並重新打開(我叫[setReleasedWhenClosed: NO])。如何檢查它是否以編程方式打開或關閉?如何檢查是否一個NSWindow是開放

我讀過的文檔和谷歌搜索,但不能看到一個理智的方式來做到這一點。 [isVisible]已棄用。 [occlusionState]不是我所追求的。我已經使用通知解決了它,但我無法相信NSWindow上有沒有一些屬性或方法可以做到這一點

回答

6

-[NSWindow isVisible]是不是真的過時了。

爲10.10 SDK,蘋果經歷和轉換一堆非正式性質聲明的屬性的。一個非正式的屬性就是一個只聲明訪問者的屬性,可能只是一個getter方法。聲明的財產使用@property

因此,他們取消這樣的:

- (BOOL) isVisible; 

並補充說:

@property (getter=isVisible, readonly) BOOL visible; 

注意,這兩個仍意味着是-isVisible吸氣的存在與BOOL返回類型。

他們用來生成文檔的工具從其標頭的更改中導致文檔聲稱-isVisible已被棄用,但這只是錯誤的。

注意,雖然,-isVisible報告虛假的窗口,它最小化或者是「開放」,但在一個隱藏的應用程序。

+0

我不認爲這對NSWindow的文件中。 – dented42 2015-03-25 22:26:55

+0

你不明白? 「可見」屬性?是的我知道。我告訴你的是文檔是越野車。查看'NSWindow'類聲明(例如,在您的代碼中按住Command鍵單擊'NSWindow')。或者只是編寫使用'visible'屬性和/或'-isVisible'方法的代碼,並觀察編譯器不會發出任何棄用警告(或任何其他警告)。 – 2015-03-25 22:31:02

+0

感謝徹底(雖然令人失望!)的描述。我沒有接受這個答案,因爲Sheen的建議更接近我想要的 - 但我希望在這種情況下我可以選擇兩個答案! – Richard 2015-03-26 16:33:49

相關問題