如何读取使用NSKeyedArchiever iPhone编码的.data文件

时间:2011-06-09 18:02:37

标签: iphone nskeyedarchiver

我使用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,applicationDidEnterBackground等期间调用此代码...

在didFinishLaunchingWithOptions中恢复/调用数据,如下所示:

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

// Unarchive .data into an array
NSMutableArray *tableArray = [NSKeyedUnarchiver unarchiveObjectWithFile:path];

任何帮助表示赞赏!感谢!!!

PS:iPhone备份提取器的链接是http://supercrazyawesome.com/

1 个答案:

答案 0 :(得分:0)

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

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *dir = [paths objectAtIndex:0];
NSLog(@"Directory: %@", dir);

在那里,Documents目录将包含.data文件