我刚刚重新设计了我的核心数据文件以利用关系,并且很难了解我如何使用这个新模型做事。
我有一个名为数据存储的实体,它与第二个实体有一对一的关系,称为test(test与数据存储有多对一的关系)。我试图找出如何存储选择测试实体中的记录。从我从我的护目镜中找到的东西我应该写
[test addDrivingConditionsObject:datastore]
这是我应该怎么做或有一种方式说
我希望[datastore addTestObject:test]
。
感谢
答案 0 :(得分:1)
假设从drivingConditions
到test
之间存在称为datastore
的多对多关系,则-addDrivingConditionsObject:
是正确的访问者名称。访问者需要根据关系名称而不是正在添加的对象的类型进行命名,因为可能很容易与同一类型的对象建立几种不同的关系。任何时候都是这种情况,使用对象类型会产生歧义。
答案 1 :(得分:0)
首先,说从DataStore到Test和从多对一的一对一关系是没有意义的。
最有可能DataStore能够保存对许多Test实例的引用,而Test只能有一个对DataStore实例的引用。在这种情况下,您具有从DataStore到Test的一对多关系以及从Test到DataStore的多对一关系。如果我错了,请纠正我。
如果我的建模正确,DataStore将包含一个名为tests的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;