- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
以下代码适用于 Mavericks (10.9),但一旦我升级到 Yosemite 10.10,它就会崩溃。克服纸张超标的最佳方法是什么?
我的类(class)有一名成员:
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] 行现在在 Yosemite 崩溃了!而且这段代码已经工作了好几年了!解决这个问题的最佳方法是什么?
谢谢!
尼利
最佳答案
解决方案是替换nil赋值和orderOut的顺序。含义:
- (void)didEndSheet:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo
{
[sheet orderOut:self];
self.emailClientSheet = nil;
}
仍然不知道苹果在 OSX 10.10 中与 10.9 相比发生了什么变化,可能是一些内存优化。在 10.10 发行说明和博客中都没有找到任何相关线索。无论如何,这段代码更适合释放窗口。
关于macos - NSWindowController orderOut 在 Mac Yosemite 10.10 中崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26510437/
在我的程序中,我有一个窗口,用户可以将其放在屏幕上他想要拍照的部分上方。 然后,当他单击按钮拍照时,我的程序 orderOut 的窗口会截屏,然后再次显示该窗口,现在窗口中有截屏。 问题是,order
以下代码适用于 Mavericks (10.9),但一旦我升级到 Yosemite 10.10,它就会崩溃。克服纸张超标的最佳方法是什么? 我的类(class)有一名成员: EmailClientWi
这个问题是关于Cocoa框架中NSWindow的以下成员函数: func orderOut(_ sender: AnyObject?) func orderBack(_ sender: AnyObje
我是一名优秀的程序员,十分优秀!