0
我正在使用NSPanel來顯示應用程序統計信息。當App Delegate調用computeStats時,它會嘗試檢查NSPanel是否可用。現在,NSPanel不會在應用程序啓動時加載。它要求用戶從一個命令開啓它。然後顯示NSPanel。如何判斷NSPanel是否不再可見?
-(IBAction)viewStats:(id)sender
{
[self.statsPanel makeKeyAndOrderFront:self];
}
現在,如果用戶關閉統計面板,看computeStats方法檢查它是否是可見的,並且僅當它是,則它將與統計數據更新NSTextFields。
-(void)computeStats
{
if ([self.statsPanel isVisible])
{
[self.minLabel setDoubleValue:min];
[self.medLabel setDoubleValue:med];
[self.avgLabel setDoubleValue:avg];
[self.maxLabel setDoubleValue:max];
}
}
然而,這失敗(與EXC_BAD_ACCESS崩潰)後,用戶打開然後關閉NSPanel。就好像面板仍然可見,即使用戶關閉了它。
這個。或者,如果您的Panel是NIB,則可以在屬性窗格中取消選中「關閉時釋放」。 –
太棒了,再次感謝。 –