从归档文件还原对象

时间:2012-03-04 18:21:30

标签: objective-c ios nskeyedarchiver

我正在使用

[NSKeyedArchiver archiveRootObject:data toFile:file];

将NSMutableArray保存到文件中。这很好。

当我尝试恢复阵列时出现问题。

NSMutableArray *s = [NSKeyedUnarchiver unarchiveObjectWithData:file];

我来了

Incompatible pointer types sending NSString *__strong to parameter of type NSData

这里有什么问题?

2 个答案:

答案 0 :(得分:1)

您正在尝试使用unarchiveObjectWithData:,它希望您将文件的内容传递给它。请尝试使用unarchiveObjectWithFile:,而是希望您将文件名传递给它。

答案 1 :(得分:0)

NSData* arrayData = [NSData dataWithContentsOfFile:file];
NSMutableArray* s = [NSKeyedUnarchiver unarchiveObjectWithData:arrayData]

对于生产代码,在假设数据有效之前,应该进行一些类型/空检查。