彼は、メイン ウィンドウのボタンがクリックされると、スレッド内にプログラムでウィンドウを作成します。このボタンをもう一度クリックすると、ウィンドウが閉じます。罰金。しかし、ユーザーが閉じるボタンを使用してウィンドウを閉じると、スレッドはそれを認識せずに実行されます。ユーザーがメイン ウィンドウのボタンをクリックすると、スレッドがウィンドウを閉じようとし、アプリがクラッシュします。そのため、ウィンドウが存在するかどうかをスレッド内で確認する必要があります。どうやってするか?ありがとう
-(void)prefsWindow:(id)sender {
NSRect frame = NSMakeRect(200, 200, 640, 480);
NSWindow *pwindow = [[NSWindow alloc] initWithContentRect:frame
styleMask:NSTitledWindowMask
backing:NSBackingStoreBuffered
defer:NO];
[pwindow center];
[pwindow makeKeyAndOrderFront:NSApp];
while (prefsA==1) {
usleep(250000);}
[pwindow close];
[NSThread exit];
}