我正在为10.6之后更新一些旧代码。
代码包括一个保存时间方法,其中包含大约60行代码,并且从大约1/2个位置调用。该代码使用了beginSheetForDirectory,自10.7以来不再支持。
我很困惑如何将以前基于@selector的解决方案转换为新的^(NSInteger)表单。我可以找到的所有示例都使用内联块,我很困惑如何将该调用作为一个单独的方法。
save方法有这个sig,x不在内部使用:
- (void)savePanelDidEnd:(NSOpenPanel *)sheet
returnCode:(int)returnCode
contextInfo:(void *)x
答案 0 :(得分:0)
在另一个帖子中找到了这个。诀窍是调用beginSheetForDirectory而没有返回处理程序,然后立即调用runModal。当runModal返回时,正常处理对话框。