有没有办法使用cocoa(或objective-c)函数列出最后使用过的文件?
我希望有类似“最近的文件”
感谢您的帮助。
此致
答案 0 :(得分:8)
使用-[NSDocumentController recentDocumentURLs]
。它返回一个URL数组,表示应用程序最近打开的文档的位置。
- (NSArray *)globalRecentDocumentsURLs {
LSSharedFileListRef recentDocsFileList;
NSArray *recentDocsFiles;
NSMutableArray *recentDocsURLs = nil;
UInt32 seed;
recentDocsFileList = LSSharedFileListCreate(NULL,
kLSSharedFileListRecentDocumentItems, NULL);
if (! recentDocsFileList) return nil;
recentDocsFiles = (NSArray *)LSSharedFileListCopySnapshot(recentDocsFileList,
&seed);
if (recentDocsFiles) {
recentDocsURLs = [NSMutableArray array];
for (id file in recentDocsFiles) {
CFURLRef fileURL = NULL;
LSSharedFileListItemResolve((LSSharedFileListItemRef)file, 0,
&fileURL, NULL);
if (fileURL) [recentDocsURLs addObject:[(id)fileURL autorelease]];
}
[recentDocsFiles release];
}
CFRelease(recentDocsFileList);
return recentDocsURLs;
}