使用NSKeyedArchiver在iOS上存档

时间:2012-06-06 22:35:13

标签: ios cocoa-touch zip nskeyedarchiver

我希望我的应用程序能够解压缩并处理zip文件的内容。

我正在尝试使用Cocoa方式,而不使用外部库,所以我转向NSKeyedUnarchiver,这是我的代码:

-(void) unarchive{

    NSString *outputDirectory = [[NSHomeDirectory() stringByAppendingString:@"/Documents/"] stringByAppendingString:@"TheNewFolderName/"];
    NSLog(@"Output Directory: %@", outputDirectory);

    //MyArchive.zip is the filename of the zip file I placed in Xcode
    NSData *theArchive = [NSKeyedUnarchiver unarchiveObjectWithFile:@"MyArchive.zip"];

    NSError *error;
    [theArchive writeToFile:outputDirectory options:NSDataWritingAtomic error:&error];

    NSLog(@"theArchive is %@", theArchive);

这打印“theArchive is null”!我做错了什么..?

1 个答案:

答案 0 :(得分:0)

NSKeyedArchiverNSKeyedUnarchiver用于在应用程序中归档和取消归档对象(具有某些限制的NSObject子类)。我担心你不能用zip文件。