首先,從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