大多数应用程序在硬盘驱动器中保存了一些东西,应用程序在某个地方保存了最后一个目录URL或路径(我不知道这个字符串在哪里),当你关闭应用程序或你的mac,之后重新打开应用程序并保存其他东西,应用程序转到最后使用的目录(如果退出)或用户的文档文件夹(如果目录不退出)。像Final cut pro这样的应用程序打开了最后一个项目。 我想得到最后一个用于保存的目录,我怎么能在objective-c?我想保存新项目。 在保存和创建NSSavePanel之前,获取上次使用的dir以检查是否有任何项目具有默认名称,如“new project 1”,“new project 2”,...到我的应用程序确定上次使用的文件的默认名称,例如“new project 10” “我的应用建议”新项目11“
答案 0 :(得分: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] ;