IOS上的核心数据关系

问题描述

| 我刚刚重新设计了我的核心数据文件,以利用关系,并且无法直接了解如何使用此新模型进行操作。 我有一个称为数据存储的实体,该实体与另一个称为test的实体具有一对一的关系(test与数据存储具有多对一的关系)。我试图弄清楚如何在已选择的测试实体中存储什么记录。从我的眼神发现中我应该写
[test addDrivingConditionsObject:datastore]
这是我应该怎么做还是有办法说 我愿意的1ѭ。 谢谢     

解决方法

        首先,从DataStore到Test存在一对一的关系,而从另一种角度讲是多对一的关系,这并不是很有意义。 最有可能的是,DataStore能够保存对许多Test实例的引用,而Test只能具有对DataStore实例的一个引用。在这种情况下,从DataStore到Test具有一对多关系,从Test到DataStore具有一对多关系。如果我错了纠正我。 如果我的建模正确,则DataStore将包含一个(可能)名为test的NSSet属性,而Test将包含一个可能为dataStore的DataStore属性(可能)。 您可以使用这些属性设置关系,并且可以通过任何一种方式完成。你可以说:
DataStore *dataStore = // get instance of DataStore
Test *test = // get instance of Test

// Possibility one - add Test to DataStore
[dataStore addTestsObject:test];

// Possibility two - add DataStore to Test
[test setDataStore:dataStore];

// ... or you can use dot notation
test.dataStore = dataStore;
    ,        假设从called4ѭ到
datastore
有一个名为ѭ3relationship的多对多关系,则
-addDrivingConditionsObject:
是正确的访问者名称。需要根据关系名称而不是要添加的对象的类型来命名访问器,因为同一类型的对象很容易存在几种不同的关系。在任何情况下,使用对象类型都会造成歧义。