0
私はアプリケーションの統計情報を表示するためにNSPanelを使用しています。 App DelegateがcomputeStatsを呼び出すと、NSPanelがビジーであるかどうかをチェックしようとします。今NSPanelは、アプリケーションの開始時に読み込まれていません。ユーザーは、コマンドから「オン」にする必要があります。これはNSPanelを表示します。NSPanelが表示されなくなったかどうかを確認するには?
今-(IBAction)viewStats:(id)sender
{
[self.statsPanel makeKeyAndOrderFront:self];
}
、ユーザは、それが表示され、それがある場合にのみ、それは次に、統計データとNSTextFieldsを更新するかどうかを確認するために、computeStats方法チェックを統計パネルを閉じた場合。
-(void)computeStats
{
if ([self.statsPanel isVisible])
{
[self.minLabel setDoubleValue:min];
[self.medLabel setDoubleValue:med];
[self.avgLabel setDoubleValue:avg];
[self.maxLabel setDoubleValue:max];
}
}
ユーザーがNSPanelを閉じ、次に開き後しかし、これは(EXC_BAD_ACCESSとクラッシュ)を失敗しました。そのパネルは、ユーザーが閉じた後でも表示されているかのように表示されます。
これです。オプションで、PanelがNIBの場合、属性ペインで「終了時に解放」のチェックを外すことができます。 –
素晴らしいです、もう一度ありがとうございます。 –