Следующий код отлично работал для 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];
}
Но строка [лист orderOut:self] теперь дает сбой в Yosemite! И этот код работает уже несколько лет! Как лучше всего решить эту проблему?
Спасибо!
Нили
[sheet close]
может быть? - person jsd   schedule 22.10.2014