这个系统有提供API,每次成功打开一个文件后,我们只需调用NSDocumentController的方法:-(void)noteNewRecentDocumentURL:(NSURL *)absoluteURL; 将文件的URL传给该方法,系统会保存文件的信息,点击顶部的Open Recent菜单或者右键Dock就可以看到最近打开的文件列表。那么我们点击列表中的某一项,程序改如何响应呢?
特别说明的是:双击关联格式的文件,也会进入上面这个方法。
只需实现NSApp的代理方法即可,示例如下:
- (void)application:(NSApplication *)sender openFiles:(NSArray *)filenames {
[mainWndCtrl_ loadMediaFilesAndPlay:filenames];
NSApplicationDelegateReply reply = NSApplicationDelegateReplySuccess;
[sender replyToOpenOrPrint:reply];
}
特别说明的是:双击关联格式的文件,也会进入上面这个方法。