DataCrux in a Nutshell
An Objective-C framework to easily store and retrieve data objects in an embedded SQL database without a server process or query strings.
Beta 1 Downloads
Both a pre-built framework and Xcode project with source
are available from the download page.
Open Source
DataCrux is available under a BSD-style open source license. You can use it in commercial software.
Key Aspects of DataCrux
+ Seamlessly store application data in SQL format
+ Objects are automatically reinstantiated on demand
+ Filter object recreation by member value
+ Recursively manages child objects in object graph
+ Supports Mac OS X 10.2 (Jaguar) and 10.3 (Panther)
+ No need to write/maintain SQL query strings
+ No server process
+ Full source code available
+ Uses public domain SQLite library at a low level
+ License compatible with commercial software
Requirements
+ Data must be key-value coding compliant
+ All classes must create valid object on standard -init
+ Storage of binary data is not supported at this time
API
The DataCrux public interface is very simple. Most of the work on the part of the developer involves setting up the property list.
- (BOOL) storeItem: (id)item;
- (BOOL) updateItem: (id)item;
- (BOOL) deleteItem: (id)item;
- (id) newItemOfType: (NSString *)theType;
- (NSArray *) itemsOfType: (NSString *)theType;
- (NSArray *) itemsOfType: (NSString *)theType withConstraints: (NSDictionary *)mask;
And for debugging purposes:
- (NSString *) dbfilePath;