获取用于保存在objective-c中的最后一个目录的路径

时间:2012-12-27 10:22:12

标签: objective-c macos directory save

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

1 个答案:

答案 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] ;