Mavericks では、NSSheets の開閉方法が変更されました。さらに難しいことに、リリース ノートは現在のドキュメントと一致していません (以下を参照)。
私はこれをやろうとしています:
MainSheetController (NSWindowController):
-(IBAction)callSheet:(id)sender {
[sheetController openSheet];
}
シートコントローラー (NSObject):
(void)openSheet {
[[NSBundle mainBundle] loadNibNamed:sheetName owner:self topLevelObjects:nil];
NSLog(@"1");
[self.mainWindowController.window beginSheet:self.sheet completionHandler:nil];
NSLog(@"2");
}
エラーや警告はありませんが、シートはありません..
現在のドキュメント:
#if NS_BLOCKS_AVAILABLE
- (void)beginSheet:(NSWindow *)sheetWindow completionHandler:(void (^)(NSModalResponse returnCode))handler NS_AVAILABLE_MAC(10_9);
- (void)beginCriticalSheet:(NSWindow *)sheetWindow completionHandler:(void (^)(NSModalResponse returnCode))handler NS_AVAILABLE_MAC(10_9);
#endif