在映射集合时快速获取异常“所需类型 = NSOrderedSet;给定类型 = __NSArrayM”

Posted

技术标签:

【中文标题】在映射集合时快速获取异常“所需类型 = NSOrderedSet;给定类型 = __NSArrayM”【英文标题】:getting exception "desired type = NSOrderedSet; given type = __NSArrayM " in swift while mapping collection 【发布时间】:2020-05-25 10:22:39 【问题描述】:

[1 I have ticked]我使用的是swift verisonpod 'FastEasyMapping', '~> 1.2'

我收到以下错误:

所需类型 = NSOrderedSet;给定类型 = __NSArrayM

同时使用方法映射

FEMDeserializer.collection(fromRepresentation:mapping:context)

在行中获取异常 ::

mapping.addToManyRelationshipMapping(ABC.defaultmapping(), forProperty: "cde", keyPath: "CDE")

cde 的属性在 ABC 中是

@NSManaged var cde : NSOrderedSet!

【问题讨论】:

有什么解决办法?? cde 是一个数组,而不是有序集合。您的关系没有在核心数据模型中勾选“有序”复选框。 我检查了它是否打勾 任何人有任何解决方案吗?@Paulw11 我在我的数据库中检查了它的标记为有序。我还附上了屏幕截图 【参考方案1】:

我明白了我写错了键是愚蠢的错误我写了这个::

mapping.addToManyRelationshipMapping(ABC.defaultmapping(), forProperty: "CDE", keyPath: "cde")

实际上应该是:: mapping.addToManyRelationshipMapping(ABC.defaultmapping(), forProperty: "cde", keyPath: "CDE")

谢谢大家

【讨论】:

以上是关于在映射集合时快速获取异常“所需类型 = NSOrderedSet;给定类型 = __NSArrayM”的主要内容,如果未能解决你的问题,请参考以下文章

关于映射语句集合不包含com.itheima.ssm.IMemberDao.findById的值的异常

如何快速获取集合视图的当前索引路径

TERSUS画画一样开发软件 集合类元件介绍-对象映射元件

List集合遍历时修改元素出现并发修改异常总结

没有外键的NHibernate映射集合

Cloud Firestore:如何在我的集合查询中获取文档引用并将其映射为 JSON 值?