2012-07-10 234 views
1

作爲solved issue with the object mapping的以下問題,我已將RestKit升級到0.10.1,並將數據模型擴展到以下內容。0.10.1中RestKit對象映射的問題

一個公司可以有多個聯繫人和活動,一個接觸可以有多個活動,但只有一家公司,一個活動只能有一個公司和一個接觸。

實體關係

Company 
- unitID 
- companyID 
- matchcode 
- contacts* (Company -->> Contact | 1:n) 
- activities* (Company -->> Activity | 1:n) 

Contact 
- unitID 
- companyID 
- contactID 
- lastName 
- firstName 
- company* (Contact >--> Company | 1:1) 
- activities* (Contact -->> Activity | 1:n) 

Activity 
- unitID 
- activityID 
- companyID 
- contactID 
- subject 
- account* (Activity >--> Company | 1:1) 
- contact* (Activity >--> Contact | 1:1) 

JSON(公司)

[ 
    { 
     "unitID":"003CABD8DEB5DC13C", 
     "companyID":"BSP-002999", 
     "matchcode":"Testcompany" 
    } 
] 

JSON(聯繫)

[ 
    { 
     "unitID":"DAC2ACCC125795D00", 
     "companyID":"BSP-002999", 
     "contactID":"CLP-015468", 
     "firstName":"Mister", 
     "lastName":"Wayne" 
    } 
] 

JSON(活動)

[ 
    { 
     "unitID":"E123FlADAS2DASD2F", 
     "activityID":"ACT-123912", 
     "companyID":"BSP-002999", 
     "contactID":"CLP-015468", 
     "subject":"Testsubject", 
    } 
] 

對象映射 - 建立的連接

// Objects 
companyMapping.primaryKeyAttribute = @"companyID"; 
... 
contactMapping.primaryKeyAttribute = @"contactID"; 
... 
activityMapping.primaryKeyAttribute = @"activityID"; 

// Connections 
[contactMapping mapRelationship:@"company" withMapping:companyMapping]; 
[contactMapping connectRelationship:@"company" withObjectForPrimaryKeyAttribute:@"companyID"]; 

[activityMapping mapRelationship:@"company" withMapping:companyMapping]; 
[activityMapping connectRelationship:@"company" withObjectForPrimaryKeyAttribute:@"companyID"]; 

[activityMapping mapRelationship:@"contact" withMapping:contactMapping]; 
[activityMapping connectRelationship:@"contact" withObjectForPrimaryKeyAttribute:@"contactID"]; 


問題

前兩個映射操作工作像他們應該,但不知最後一次映射活動> - >聯繫人不起作用。

No connection for contact

感謝您的任何想法解決它!

回答

1

解決了我自己的問題,因爲在Core Data的配置中存在錯誤。

關係聯繫人 - >>活動沒有設置爲「可選」,Xcode和RestKit未顯示明確錯誤。將其設置爲「可選」解決了該問題,並且該映射適用於所有關係。