我正在构建一个应用程序,用户可以点击表示情绪的各种按钮并记录他们的情绪状态。点击实体存储点击时间。
现在我的关系是情感< ------>>点击
我可以轻松获得点击的情绪:
let emotion = click.value(forKey: ClickAttr.Emotion) as! NSManagedObject
然而,我很困惑,我如何解析特定情绪的点击。现在我的代码如下:
let clicks = emotion.value(forKey: EmotionAttr.Clicks) as! [NSManagedObject]
无论我如何投射或迭代数据,我都会收到错误:
Could not cast value of type '_NSFaultingMutableOrderedSet' (0x7fffbe8bee48) to 'NSArray' (0x7fffbea01ae0).
我已经阅读过Core Data关系中的错误对象,但无法弄清楚如何加载该点击数据。我读过的所有其他问题/答案都是在Objective-C中,或者是针对Swift的过时版本。
如果我的代码是:
,我会遇到同样的问题let clicks: NSSet = emotion.value(forKey: EmotionAttr.Clicks) as! NSSet
Could not cast value of type '_NSFaultingMutableOrderedSet' (0x7fffbe8bee48) to 'NSSet' (0x7fffbea02760).