【发布时间】:2013-05-14 07:17:29
【问题描述】:
我有一个 NSMutableArray 和 NSString 我想存档这些,还想检索数组和字符串而不更改数组和字符串内的数据。
我是这样给的,
对于存档,
NSMutableData *data = [[NSMutableData alloc]init];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
[archiver encodeObject:arrayRandomNumberForUser forKey:@"array"];
[archiver encodeObject:stringBingo forKey:@"string"];
[archiver finishEncoding];
对于取消存档,
NSData *data=match.matchData;
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
mutableArray = [unarchiver decodeObjectForKey:@"array"];
stringtakenValue = [unarchiver decodeObjectForKey:@"string"];
[unarchiver finishDecoding];
其中,match.matchData 是从 gamecenter 轮流方法获取的 NSData 对象。
当调用 take turnMethod 时,它会崩溃。这是控制台窗口错误消息。
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“ -[NSXPEncoder encodeObject:forKey:]:此编码器仅编码采用 NSSecureCoding 的对象(对象属于“NSKeyedArchiver”类)。'
【问题讨论】:
标签: iphone ios6 game-center nskeyedarchiver