使用NSKeyedArchiver将某些内容保存到磁盘时,iPhone上存储的内容在哪里?

don*_*ile 2 iphone nskeyedarchiver

示例:如果使用此功能,iPhone会将文件存储在哪里?

if (![NSKeyedArchiver archiveRootObject:your_object toFile:@"filename.plist"])
   // save failed.
Run Code Online (Sandbox Code Playgroud)

在我的Mac上,filename.plist直接转到Macintosh HD。没有文件夹。另外,NSKeyedArchiver似乎并没有要求提供路径,而只是要求提供文件名。是否奇怪?

那该文件如何用iTunes备份?

Mos*_*erg 5

好吧,这实际上取决于您要求它保存文件的位置,在这种情况下,您要告诉它存储文件,该文件filename.plist将存储在root中/

如果您要将其存储在特定的位置,只需给它完整的路径,就像Diederik Hoogenboom告诉您的那样(它将存储在Documents目录中)

或者只是给它您要将文件保存到的绝对路径。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent: @"myFile.plist"];
[NSKeyedArchiver archiveRootObject:your_object toFile:filePath];
Run Code Online (Sandbox Code Playgroud)

这可能应该为您清除了一点。