如何检查NSWindow是否开放

时间:2015-03-25 10:41:19

标签: cocoa nswindow appkit

我有NSWindow可以关闭并重新打开(我称之为[setReleasedWhenClosed: NO])。如何以编程方式检查它是打开还是关闭?

我已经阅读了doc和Googled,但是看不到这样做的理智方式。不推荐使用[isVisible][occlusionState]不是我追求的。我已经使用通知解决了这个问题,但我无法相信NSWindow上没有某些属性或方法来执行此操作

2 个答案:

答案 0 :(得分:9)

-[NSWindow isVisible]并未真正弃用。

对于10.10 SDK,Apple经历并将一堆非正式属性转换为声明的属性。非正式属性是仅声明访问器的属性,可能只是一个getter方法。声明的属性使用@property

因此,他们删除了类似的内容:

- (BOOL) isVisible;

并补充说:

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

请注意,两者仍然表示存在-isVisible具有BOOL返回类型的getter。

他们用于根据标题更改生成文档的工具导致文档声称-isVisible已被弃用,但这只是错误。

但请注意,-isVisible报告的窗口最小化或打开的窗口为false。但是在一个隐藏的应用程序中。

答案 1 :(得分:4)