蘋果在iOS 11之后提供了新的解檔方法:
+ (nullable id)unarchivedObjectOfClass:(Class)cls fromData:(NSData *)data error:(NSError **)error API_AVAILABLE(macos(10.13), ios(11.0), watchos(4.0), tvos(11.0)) NS_REFINED_FOR_SWIFT;
當(dāng)使用新的解檔方法解檔嵌套模型時,會報code:4864的錯誤解檔失?。?/p>

WX20201021-163857@2x.png
解決此問題的方法有兩種:
方法一:
使用[NSObject class]類型解檔
[NSKeyedUnarchiver unarchivedObjectOfClass:[NSObject class] fromData:data error:&error];
方法二:
將所有的嵌套模型作為set集合解檔
NSSet *clsSet = [NSSet setWithObjects:[NSArray class],[Person class], nil];
if (@available(iOS 11.0,*)) {
NSArray *getArray1 = [NSKeyedUnarchiver unarchivedObjectOfClasses:clsSet fromData:nil error:nil];
}