在映射集合时快速获取异常“所需类型 = 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”的主要内容,如果未能解决你的问题,请参考以下文章