我已经将我的
RoomPlan.CapturedRoom
保存在CoreData
中作为Data
对象。当我在带有 LiDAR 扫描仪的设备上再次打开它时,它完全可以正常工作。但是,例如,当我尝试在模拟器上打开它时,我收到一条错误消息说“RoomPlan.CapturedRoom.Error.deviceNotSupported”.
我用来将
Data
转换回 CapturedRoom
的代码是这样的:
let decoder = JSONDecoder()
do {
self.capturedRoom = try decoder.decode(CapturedRoom.self, from: capturedRoomData)
} catch {
let nserror = error as NSError
fatalError("Unresolved error \(nserror), \(nserror.userInfo)")
}
这里抛出了 fatalError 给我上面的错误。
@Darkwonder 发布的解决方案是解决此问题的正确方法:“您可以编写自己的类并将其映射到 Apples CapturedRoom,并实施 Codable。另一种解决方案是将 CapturedRoom 导出为 JSON。”