我有我的核心數據設置爲這樣:核心數據添加新的NSManagedObject
SALES_REP
< --- >>CUSTOMER
< ---- >>PURCHASE_AGREEMENT
< < ------- >>PRODUCTS
在應用程序中,銷售代表可以更改PRODUCTS
實體的屬性,並觸發更改爲PURCHASE_AGREEMENT
。當他們完成編輯工作PA
時,他們可以通過Web服務提交給我們的CRM(SAP)或在本地保存他們的工作。
我明白了(至少我覺得我做的:d)如何創建一個新的NSManagedObject
並添加值到它的屬性:
NSManagedObject* newManagedObject = [NSEntityDescription insertNewObjectForEntityForName:@"PA" inManagedObjectContext:self.moc];
//get the entity descriptions for PA, Customer, PA_Products and Sales_Rep
NSEntityDescription* PAEntity = [NSEntityDescription entityForName:@"PA" inManagedObjectContext:self.moc];
NSDictionary* dictPAAttributes = [PAEntity attributesByName];
NSArray* arrPAAttributeNames = [dictPAAttributes allKeys];
for(NSString* strThisAttribute in arrPAAttributeNames) {
[newManagedObject setValue:[self.workingPA valueForKey:strThisAttribute] forKey:strThisAttribute];
}
我怎麼會去添加關係?我是否必須獲取新創建的PA
實體,然後拉動產品,從工作PA拉出產品,然後將它們添加到新PA中?該過程是否類似於CUSTOMER
和SALES_REP
實體?
感謝鄧肯,我得與昨天我自己的回答相同的點,只是需要更清楚地思考。我們有一個工作PA的原因是因爲如果PA進入最終狀態,我們不希望用戶更改該數據,但他們可能想將其用作新PA的起點,所以我們製作一個新PA實體並傳輸數據並更改其狀態,所以如下所示:if(PA status == 4)then workingPA = copy else workingPA = PA ... do stuff – PruitIgoe