我有NSWindow
可以关闭并重新打开(我称之为[setReleasedWhenClosed: NO]
)。如何以编程方式检查它是打开还是关闭?
我已经阅读了doc和Googled,但是看不到这样做的理智方式。不推荐使用[isVisible]
。 [occlusionState]
不是我追求的。我已经使用通知解决了这个问题,但我无法相信NSWindow
上没有某些属性或方法来执行此操作
答案 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)