Raizlabs/RZDataManager — pull request #20 by ndonald2 (2013-10-28 14:49:27+00:00)
Title: Interface and Performance Revisions

Several things changed here.

**Minor**

- Rename const strings to remove "k" prefix - more like UIKit/Foundation.
- Fix distinction between class/entity names so either will work correctly when provided to CoreDataManager
- Data Importer assumes all dates are UTC. An API that returns localized dates should be an exception rather than the rule
- Post notifications when CoreDataManager can't open a database file and the "delete if corrupt" option is YES
- Gives app a chance to back things up if that were to happen.
- Fix bug where un-mappable keys were incorrectly excluding keypaths

**Slightly less Minor**

- Block-based "Import" interfaces renamed to "Operation" - it's not always an import
- Background operation block provides a "context" object, dependent on particular flavor of manager
- Currently only CoreData, so "context" is the background moc.
- Option to provide supplementary key/value pairs to dictionary or array of dictionaries being imported
- Useful when you want to make a relationship that isn't explicit in the API data object, e.g. between current user and object being imported
- Refactor the way relationship imports are handled to avoid passing back-and-forth from DataImporter to DataManager.
- Not crazy about the fact that DataManager is responsible for some of the logic about importing the data, but it avoids a lot of problems with recursion (and the refactor sped up the "large import" test by a factor of 8!!!!!!)