0

我有一个无边框窗口,我通过附加到此操作的菜单栏项关闭它(在窗口控制器中):

- (void)closeMenuBar
{
    [[self window] close];
    [[NSApp delegate] closeMenubar];
}

然后 appdelegate 简单地将带有窗口控制器引用的 NSMutableArray 设置为 nil。(我正在使用ARC)。

然而,在窗口关闭后,窗口控制器似乎仍在运行(从 NSLog 语句可以看出)。我究竟做错了什么?如何在启用 ARC 的情况下立即移除此控制器?

4

1 回答 1

0

确保您在其他地方没有任何强烈的引用。

如果您无法追踪它们,请尝试在 Instruments with Allocations 中运行以了解它被保留的位置。您可以检查它保留的每个位置的堆栈跟踪。

于 2013-03-12T00:56:41.253 回答