jsonファイルからデータをロードして保存します。 私はそれを2回行います... 私はCore Data sqliteデータベースに2つのエントリを持っています。 マッピングに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 dbに存在するかどうかを確認するために、管理コンテキストの各エンティティをループする必要があることを意味していますか? Restkitは何かを提供していませんか?またはコアデータですか? – Sam
基本的にはい。または、新しい項目を作成する前に、データベースからその項目を取り出します。フェッチが空に戻った場合は作成し、それ以外の場合は管理オブジェクトコンテキストに挿入しないでください。私はそれをこのようにし、それは非常に効率的です。 – Mundi
私は重複と同じ問題を抱えていますが、Restkitはデータベースに挿入する前にチェックを行っていますが、何らかの理由で私とあなた(そしてあなた)と電話していないようです。私が正しい答えを見つけるまで、私は一時的にどのように "解決"をチェックアウトhttp://stackoverflow.com/questions/7799890/primarykeyattribute-not-working-restkit-core-data – mateusmaso