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

Posted

技术标签:

【中文标题】获取用于保存在objective-c中的最后一个目录的路径[关闭]【英文标题】:get path of last directory used to save in objective-c [closed] 【发布时间】:2012-12-27 10:22:12 【问题描述】:

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

【问题讨论】:

有什么理由不使用 NSUserDefaults 类来保存和/或检索用于保存应用程序的最后一个文件夹? 感谢您提及,我是新的,对我来说是新的。你能告诉我一个例子吗? 【参考方案1】:

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

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

【讨论】:

谢谢你的回答比我问的要多,不幸的是他们关闭了这个问题,我不知道为什么

以上是关于获取用于保存在objective-c中的最后一个目录的路径[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Objective-C 的 NSDocument 目录中保存和获取多个 pdf 文件?

知识梳理Objective-C中的@property

在Objective-C的NSDate中获取一个月的天数?

C/Objective-C 读取并获取整数的最后一位?

Kinect

根据用户选择将 UIPickerView 中的数据保存在 NSUserDefaults 中,并在另一个 ViewController Objective-C 中调用