我是Cocoa的新手,想知道如何在计时器打勾时隐藏NSPanel,我试图打电话 [myNSPanel orderout:self],代码运行但面板仍在那里。我需要做一些与众不同的事吗?提前谢谢。
答案 0 :(得分:0)
首先,选择器为orderOut:
,选择器区分大小写,因此如果您的代码实际上是orderout:
,那么您将获得一个不响应选择器异常(您可以在调试器控制台中看到),这就是您的代码无法正常工作的原因。
如果修复后仍然无效,请确保myNSPanel
(我认为是插座)实际上已连接到相关面板。一个很常见的错误就是忘记连接插座;执行此操作时,outlet变量中的指针为nil
,而nil
的消息则不执行任何操作。
您可以通过记录指针来检查:NSLog(@"%p", myNSPanel);
。运行该语句后,调试器控制台将包含一行,告诉您myNSPanel
变量中的指针。如果是0x0
,那就是nil
。