【发布时间】:2011-11-21 13:05:30
【问题描述】:
我有一个这样的 NSWindowController 子类:
@interface MyController : NSWindowController <NSWindowDelegate>
...
- (void)windowWillClose:(NSNotification *)notification;
@end
它是他窗口的代表。一切正常。
但是,为了避免内存泄漏,我应该在实现中这样做吗?
@implementation MyController
...
- (void)windowWillClose:(NSNotification *)notification {
...
[self release];
}
@end
如果我不这样做,当我用红色的小关闭按钮关闭窗口时,windowWillClose: 会被调用,并且在 Instrument 中我看到 NSWindow 已释放,但 MyController 没有...
这是做这件事的“方式”吗?还是我在冒险?
注意:使用 Command-W 窗口和控制器已正确释放,因为我在 AppDelegate 中捕获了此操作,该操作已实例化所有此窗口和控制器,因此知道如何/何时释放它们。但是红色的小关闭按钮 performClose: 就其本身而言,我取得的最好成绩是捕获 windowWillClose: 作为窗口委托...
【问题讨论】:
标签: objective-c cocoa