1

大多数应用程序将某些内容保存在硬盘中,该应用程序将最后一个目录 url 或路径保存在某处(我不知道这个字符串在哪里),当您关闭应用程序或您的 mac 时,然后重新打开应用程序并保存其他内容,应用程序转到最后使用的目录(如果退出)或用户的文档文件夹(如果目录不退出)。一些像 final cut pro 这样的应用程序会打开最后一个在其中工作的项目。我想获取用于保存的最后一个目录,我该怎么做?我想保存新项目。在保存和创建 NSSavePanel 之前,获取最后使用的目录以检查是否有任何项目具有默认名称,如“新项目 1”、“新项目 2”、... 到我的应用程序确定最后使用的文件默认名称,例如“新项目 10 ”,我的应用程序建议“新项目 11”

4

1 回答 1

2

要获取您自己的应用程序的最后一个目录:

NSString* navLastRootDirectory = [[[NSUserDefaults standardUserDefaults] objectForKey:@"NSNavLastRootDirectory"] stringByExpandingTildeInPath] ;

要获取另一个应用程序的最后一个目录,例如 TextEdit:

NSString* pathToTextEditPreferences = [@"~/Library/Preferences/com.apple.TextEdit.plist" stringByExpandingTildeInPath] ;
NSData* data = [NSData dataWithContentsOfFile:pathToTextEditPreferences] ;
NSDictionary* propertyListData = [NSPropertyListSerialization  propertyListWithData:data  options:NSPropertyListImmutable  format:nil  error:nil  ] ;
NSString* navLastRootDirectory = [[propertyListData objectForKey:@"NSNavLastRootDirectory"] stringByExpandingTildeInPath] ;
于 2012-12-28T01:06:18.980 回答