【发布时间】:2014-10-23 22:53:04
【问题描述】:
以下代码在 Mavericks (10.9) 上运行良好,但是一旦我升级到 Yosemite 10.10,它就会崩溃。什么是最好的方法来克服过度的床单?
我的班级有一个成员:
EmailClientWindowController* emailClientSheet;
(而 EmailClientWindowController : NSWindowController)
单击某个按钮后,我将窗口显示为模态表:
self.emailClientSheet = [[EmailClientWindowController alloc] initWithDocument:document];
[NSApp beginSheet:self.emailClientSheet.window modalForWindow:self.view.window modalDelegate:self
didEndSelector:@selector(didEndSheet:returnCode:contextInfo:) contextInfo:nil];
它的didEndSheet方法如下:
- (void)didEndSheet:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo
{
self.emailClientSheet = nil;
[sheet orderOut:self];
}
但是,[sheet orderOut:self] 行现在在优胜美地崩溃了!这段代码已经工作了好几年了!解决此问题的最佳方法是什么?
谢谢!
尼莉
【问题讨论】:
-
试试
[sheet close]吧? -
同样的崩溃也发生在那里。
标签: macos cocoa osx-yosemite