我正在使用
[NSKeyedArchiver archiveRootObject:data toFile:file];
将NSMutableArray保存到文件中。这很好。
当我尝试恢复阵列时出现问题。
NSMutableArray *s = [NSKeyedUnarchiver unarchiveObjectWithData:file];
我来了
Incompatible pointer types sending NSString *__strong to parameter of type NSData
这里有什么问题?
答案 0 :(得分:1)
您正在尝试使用unarchiveObjectWithData:
,它希望您将文件的内容传递给它。请尝试使用unarchiveObjectWithFile:
,而是希望您将文件名传递给它。
答案 1 :(得分:0)
NSData* arrayData = [NSData dataWithContentsOfFile:file];
NSMutableArray* s = [NSKeyedUnarchiver unarchiveObjectWithData:arrayData]
对于生产代码,在假设数据有效之前,应该进行一些类型/空检查。