1

ウィンドウを表示するためのコードがあります...

- (IBAction)displayWindow:(id)sender
{
    NSWindow *window = [[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, 50, 50) styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO];
    [window setBackgroundColor:[NSColor blackColor]];
    [window setAlphaValue:.5];
    [window setLevel:kShadyWindowLevel];
    [window setReleasedWhenClosed:YES];
    [window makeKeyAndOrderFront:self];
    self.window = window;
}

そして、ウィンドウを閉じるには...

- (IBAction)closeWindow:(id)sender
{
    [self.window close];
}

そしてwindowは強い特性として定義されます...

@property (strong) NSWindow *window;

コードは最初は機能しますが、ウィンドウを2回目に表示すると、行が...

self.window = window;

EXC_BAD_ACCESSでクラッシュします...

私は何が間違っているのですか?

前もって感謝します....

4

1 に答える 1

5

コードで「releasedWhenClosed」を「YES」に設定しました。これを「NO」に変更すると、正常に機能するはずです。

于 2013-02-11T05:16:15.437 に答える