我希望能够在Cocoa应用程序中创建窗口的多个实例。因此我创建了一个NSWindowController和相关的XIB。在我的应用程序委托中,我有以下代码:
- (IBAction)newWindow:(id)sender
{
MyWindowController *wc = [[MyWindowController alloc]
initWithWindowNibName:@"MyWindow"];
[self.windowControllers addObject:wc];
[wc showWindow:self];
}
我必须在某个地方保留一个指向窗口控制器的指针,因为ARC会以其他方式取消它。我发现一个常见的解决方案是将它添加到一个可变数组中。但是,如果稍后关闭窗口,则引用仍将在数组中,因此不会被释放。
窗口关闭时,从窗体中删除窗口控制器的最佳方法是什么?
答案 0 :(得分:2)