- It is now possible to set the shared instance of a BaseModel to nil, which allows you to reclaim memory for BaseModel shared instances if they are no longer needed, or in the event of a memory warning.
- Switched constructors to return new type-safe
instancetypeinstead of id, making it easier to use dot-syntax property accessors on basemodel singletons.
- Removed the uniqueID property by default and replaced it with a more flexible
newUniqueIdentifierclass method. To re-enable the uniqueID property, add BASEMODEL_ENABLE_UNIQUE_ID to your project's preprocessor macros
- Added support for the HRCoder library, which provides human-readable object serialisation and de-serialisation using NSCoding
- Fixed minor bug in setter name generation logic
- Removed deprecated property list serialisation methods
- Added new instancesWithArray: method for loading an array of models in one go.
- Added setWithString:, setWithNumber: and setWithData: methods.
- Replaced instanceWithDictionary/Array: and initWithDictionary/Array: methods and replaced them with instanceWithObject: and initWithObject:
- Added automatic support for ARC compile targets
- BaseModel is now designed to work hand-in-hand with the AutoCoding library, which provides completely automatic object serialisation via NSCoding
- NSObject (BaseModel) category has now been removed from the BaseModel library. You can now find this functionality in the AutoCoding library instead (https://github.com/nicklockwood/AutoCoding).
- Fixed a bug where
setUpmethod could be called multiple times
- Major API redesign. It is not recommended to update projects that use BaseModel 1.1 or earlier to version 2.0
- Added mergeValuesFromObject method.
- Renamed documentsPath to savePath.
- Updated loading and saving methods to use the application support folder by default, instead of the documents folder.
- Fixed nil object exception in loading code.
- Fixed bug in NSCoded loading logic.
- Initial release