Coredata关系,保存字典

时间:2016-11-11 23:32:27

标签: swift core-data

我有一个名为Game的CoreData对象,它有一个名为playedList的关系。我想要它拿着一本数据字典。我不确定的事情。

1)关系必须是NSSet吗? 2)如何将Dictionary [String:Int]或[Player:Int]保存到该关系中?

我曾尝试将关系更改为NSData并使用

game.playedList = try NSJSONSerialization.dataWithJSONObject(myDictionary, options: [])
    } catch {
        print("JSON serialization failed:  \(error)")
    }
  

多对多关系的不可接受的价值类型:

我对此感到有点不确定,因为这是我第一次使用CoreData

1 个答案:

答案 0 :(得分:1)

CoreData实体的关系必须是一个或多个其他CoreData实体。您无法定义实体与非CoreData对象(如Dictionary)之间的关系。

您可以使用属性定义一个新实体,以便将每个键存储在此字典中(如果它们是可预测的)。

或者,您可以使用ValueTransformer将Dictionary作为Data属性存储(请参阅Storing UIColor object in Core Data等)