2012-07-10 189 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未显示明确错误。将其设置为“可选”解决了该问题,并且该映射适用于所有关系。