【发布时间】:2014-10-30 16:23:57
【问题描述】:
背景
我们有多个符合NSSecureCoding 协议的类。
@interface ClassA : NSObject <NSSecureCoding>
// ...
@end
@interface ClassB : NSObject <NSSecureCoding>
// ...
@end
我们注意到NSArray 也符合NSSecureCoding。因此,我们尝试以下方法。
对于编码:
NSArray* array = ...
[archiver encodeObject:array forKey:@"AirdropDataKey"];
用于解码
NSArray* array = [unarchiver decodeObjectOfClass:[NSArray class]
forKey:@"AirdropDataKey"];
我收到以下错误消息。
由于未捕获的异常“NSInvalidUnarchiveOperationException”而终止应用程序,原因:“键“NS.objects”的值属于意外类“ClassA”。允许的类是 '{(
NSArray
)}'.'
谁能解释为什么以及是否有可能解决这个问题?
【问题讨论】:
标签: ios objective-c