iOS 解檔 value for key 'NS.objects' was of unexpected class問題

蘋果在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];
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容