Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何读取使用NSKeyedArchive编码的.data文件_Iphone_Nskeyedarchiver - Fatal编程技术网

Iphone 如何读取使用NSKeyedArchive编码的.data文件

Iphone 如何读取使用NSKeyedArchive编码的.data文件,iphone,nskeyedarchiver,Iphone,Nskeyedarchiver,我使用NSKeyedArchiver将iPhone应用程序中的数据归档到.data文件中。长话短说,我丢失了所有的数据。我使用“iPhone备份提取器”,效果非常好。我找到了我的应用程序的.data文件 为了清楚起见,我找到了一个.data文件,我想打开它,看看里面的内容是什么样子。我知道没有软件(例如:记事本)能够读取该文件,我可能必须使用Xcode。如果你知道任何方式,Xcode/notepad/someProgram,请告诉我 这是我在构建应用程序时实现的代码: - (NSString *

我使用NSKeyedArchiver将iPhone应用程序中的数据归档到.data文件中。长话短说,我丢失了所有的数据。我使用“iPhone备份提取器”,效果非常好。我找到了我的应用程序的.data文件

为了清楚起见,我找到了一个.data文件,我想打开它,看看里面的内容是什么样子。我知道没有软件(例如:记事本)能够读取该文件,我可能必须使用Xcode。如果你知道任何方式,Xcode/notepad/someProgram,请告诉我

这是我在构建应用程序时实现的代码:

- (NSString *)locPath {
    return pathInDocumentDirectory(@"tableArray.data");
}

- (void)archieve{
    // Get the path to the document directory
    NSString *path = [self locPath];

    // grab the array
    NSMutableArray *tableArray = [someViewController tableArray];

    // archive the array to file
    [NSKeyedArchiver archiveRootObject:tableArray toFile:path];
}
在applicationWillTerminate、ApplicationIdentinterBackground等过程中调用此代码

在DidFinishLaunching中恢复/调用数据,选项如下:

// Get the path to the document directory
NSString *path = [self locPath];

// Unarchive .data into an array
NSMutableArray *tableArray = [NSKeyedUnarchiver unarchiveObjectWithFile:path];
感谢您的帮助!谢谢


PS:iPhone备份提取器的链接是

我发现的最简单的方法是使用以下代码获取文档目录:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *dir = [paths objectAtIndex:0];
NSLog(@"Directory: %@", dir);
在那里,Documents目录将包含.data文件