从文件恢复NSArray
我有一个数组,我序列化,加密,然后写入一个文件。 数据本身看起来不错,但是我遇到了从文件恢复数组的问题。 这是我做的
NSString *filename = [[self getTransactionLogPath] stringByAppendingPathComponent:transactionLogName]; NSData *data = [[NSData alloc] initWithContentsOfFile:filename]; NSLog(@"encrypted data: %@", data); EncryptedData *decoder = [[EncryptedData alloc] init]; NSData *decrypted = [decoder reverseTransformedValue:data]; NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:decrypted];
我得到文件名并从文件中读取数据。 EncryptedData解码器在数据上运行AES128,最后我解压数组。
问题是unarchiveObjectWithData引发异常
[NSKeyedUnarchiver initForReadingWithData:]:
难以理解的档案
棘手的是,如果我保持NSLog线,即在读取文件后打印出数据,代码在模拟器中工作正常。
在设备上, NSLog()
不起作用。 这是在读取数据之前unarchiver启动的线程问题吗?
我尝试添加一个延迟而不是NSLog(),但这并没有帮助。
如果我想在写入文件之前加密数组,请使用其他任何方式来完成这项工作?
链接地址: http://www.djcxy.com/p/68339.html