 <p>It seems to me you do not need to subclass <code>NSIncrementalStore</code>. You can create records and save them to your store with a plain vanilla store created via <code>addPersistentStoreWithType:...</code> with a <code>NSPersistentStoreCoordinator</code>. </p> <p>The straight-forward way is to handle the incoming JSON by simply taking the data and copying it to the properties of your <code>NSManagedObject</code> subclasses, like this:</p> <pre><code>object.title = jsonDictionary[@"title"]; object.numericAttribute = [jsonDictionary[@"numericAttribute] integerValue]; </code></pre> <p>If you take care about naming the attribute and entity names exactly the same you can maybe use some shortcuts using KVC, like</p> <pre><code>[object setValue:jsonDictionary[key] forKey:key]; </code></pre> <p>I once did the above for a large legacy project where it was not feasible to repeat the old attribute names, so I used a custom property list (plist) to match around 800 attribute names. </p>