首先,从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;
这听起来更像它,其他方式(每个测试可以是许多数据存储对象的一部分,但每个数据存储对象只能有一个测试对象)。在生成的测试类中,我有一个方法' - (void)addDataStore:(NSSet *)value; (我假设你在说什么),但在我的数据存储类中,我没有任何东西。如果你有一个测试属性,有没有我可能遗漏的设置,会给我'setTest:'方法谢谢 – Darc 2011-06-13 07:51:03
setTest:由框架给出。它基本上与说dataStore.test = //任何;;相同。您不需要显式声明该方法。这就是@dynamic为你做的。 – 2011-06-13 07:56:19
没关系,它的晚了,我没有正确阅读你的答案,现在一切都好了,谢谢 – Darc 2011-06-13 07:56:35