Swift ';NSKeyedUnachivefromData';不应用于联合国归档,并将在将来的版本中删除
我在日志中收到一条消息说 “bundleNamePlaceholder”[8424:100146][general] “NSKeyedUnachiveFromData”不应用于取消存档和 将在将来的版本中删除 我不清楚这个消息,但我假设它可能与CoreData对象或其内容有关Swift ';NSKeyedUnachivefromData';不应用于联合国归档,并将在将来的版本中删除,swift,nsarchiving,Swift,Nsarchiving,我在日志中收到一条消息说 “bundleNamePlaceholder”[8424:100146][general] “NSKeyedUnachiveFromData”不应用于取消存档和 将在将来的版本中删除 我不清楚这个消息,但我假设它可能与CoreData对象或其内容有关 有什么方法可以捕获抛出此消息的原因吗?苹果在某个时候从数据中删除了NSKeyedUnarchiveFromData,因为默认情况下它不安全。如果在coredata中使用NSKeyedUnarchiveFromData存储可
有什么方法可以捕获抛出此消息的原因吗?苹果在某个时候从数据中删除了
NSKeyedUnarchiveFromData
,因为默认情况下它不安全。如果在coredata中使用NSKeyedUnarchiveFromData
存储可转换值,则该值将变得不可读
和要找出导致这些日志消息的原因,请尝试为这些日志消息添加符号断点
+[NSKeyedUnarchiver unarchiveObjectWithData:]
+[NSKeyedUnarchiver unarchiveTopLevelObjectWithData:错误:
,和
+[NSKeyedUnarchiver unarchiveObjectWithFile::
这帮助我找到了罪魁祸首。在我的案例中,问题在于使用
可转换的
在CoreData中键入以保存字符串数组。默认情况下,CoreData使用NSKeyedUnarchiver
而不是NSSecureUnarchiveFromData
转换器。所以更换变压器就解决了这个问题
在我的例子中,问题是因为我忘记在xcdatamodel中为transformable字段设置数据类型和值转换器。