beginSheetForDirectory to beginSheetModalForWindow

时间:2013-03-15 13:32:56

标签: macos xcode4.5

我正在为10.6之后更新一些旧代码。

代码包括一个保存时间方法,其中包含大约60行代码,并且从大约1/2个位置调用。该代码使用了beginSheetForDirectory,自10.7以来不再支持。

我很困惑如何将以前基于@selector的解决方案转换为新的^(NSInteger)表单。我可以找到的所有示例都使用内联块,我很困惑如何将该调用作为一个单独的方法。

save方法有这个sig,x不在内部使用:

- (void)savePanelDidEnd:(NSOpenPanel *)sheet 
        returnCode:(int)returnCode 
       contextInfo:(void *)x

1 个答案:

答案 0 :(得分:0)

在另一个帖子中找到了这个。诀窍是调用beginSheetForDirectory而没有返回处理程序,然后立即调用runModal。当runModal返回时,正常处理对话框。