Objective c NSWindow在关闭和重新打开后崩溃

Objective c NSWindow在关闭和重新打开后崩溃,objective-c,macos,nswindow,Objective C,Macos,Nswindow,我已经创建了一个新窗口 self.storeWindow = [[NSWindow alloc] initWithContentRect:NSMakeRect(100, 100, 800, 660) styleMask:NSWindowStyleMaskResizable|NSWindowListOrderedFrontToBack|NSWindowStyleMaskClosable backing:NSBackingStoreBuffered defer:false];

我已经创建了一个新窗口

self.storeWindow = [[NSWindow alloc] initWithContentRect:NSMakeRect(100, 100, 800, 660) styleMask:NSWindowStyleMaskResizable|NSWindowListOrderedFrontToBack|NSWindowStyleMaskClosable backing:NSBackingStoreBuffered defer:false];
                             [self.storeWindow setDelegate:self];
开得好,关得好。但是,如果我再次调用if,甚至检查是否为nil,它将与EXC\u BAD\u访问崩溃

我在标题中将其声明为字符串属性

@property (strong,nonatomic) NSWindow *storeWindow;
有什么想法吗?

NSWindow的属性可以设置为更改默认行为,即在窗口关闭时释放窗口(除非它属于窗口控制器)。属性可以在接口编辑器的属性检查器中设置,也可以通过编程方式设置,例如:

[myWindow setReleasedWhenClosed:NO];

窗口是否由窗口控制器所有?窗口的
releasedWhenClosed
属性是否已设置?它不属于受控对象。releasedWhenClosed属性只是一个getter,它当前读取
(lldb)po self.storeWindow.isReleasedWhenClosed
该属性还可以设置为更改默认行为,即在窗口关闭时释放窗口。是否可以发布一个片段来设置它?我试过了,但它不允许我。根据文档,默认设置为true。属性为
releasedWhenClosed
,因此应该类似于
self.storeWindow setReleasedWhenClosed:NO
[myWindow setReleasedWhenClosed:NO];