我從json文件加載數據,我將其保存。 我做了兩次... 我在Core Data sqlite數據庫中有兩個條目。 即使我在映射中設置了primaryKeyAttribute。RestKit主鍵屬性
mapping.primaryKeyAttribute = @"code";
[mapping mapAttributesFromArray :mappedFields];
[[RKObjectManager sharedManager].mappingProvider setMapping:mapping forKeyPath:entityName];
的json
{ 「myEntity所」:[{ 「代碼」: 「axv2」, 「數據」: 「內容」}]};
這裏回調:
- (void)objectLoader:(RKObjectLoader*)objectLoader didLoadObjects:(NSArray*)objects {
NSLog(@"Entries loaded %d",[objects count]);
lastResult = objects;
for(MyEntity * myEntity in lastResult) {
[self saveContext];
}
}
我的實體正確映射...但Restkit允許一個以節省重複的條目與相同的主鍵?
這很奇怪,我明白這個主鍵屬性可以避免這個問題。
這意味着每次我想要保存上下文時,我必須循環託管上下文的每個實體來檢查實體是否存在於sqlite數據庫中? Restkit不提供某些東西?還是核心數據? – Sam
基本上,是的。或者,在創建新項目之前,從數據庫中獲取它。如果提取返回爲空,則創建它,否則甚至不要將其插入托管對象上下文中。我這樣做,它非常有效。 – Mundi
我有同樣的重複問題,但是Restkit在插入數據庫之前確實提供了一個檢查,但是由於某種原因,似乎沒有與我(和你)一起調用。看看我如何「解決」暫時的,直到我找到正確的答案http://stackoverflow.com/questions/7799890/primarykeyattribute-not-working-restkit-core-data – mateusmaso