Daten Speichern Mit SQLite Und FMDB

Spätestens mit der Komplexität einer iPhone Applikation (wenn nicht sogar zu Beginn) entsteht oftmals das Bedürfnis komplexere Daten zu verwalten. Neben anderen Möglichkeiten bietet sich hier SQLite an. Ich habe mich bei einer meiner Applikationen für den Cocoa Wrapper FMDB von Gus Mueller entschieden. Er nimmt einem die gröbste Arbeit ab, lässt einem aber noch genug Freiheit selber die SQL-Statements zu basteln. Die Ergebnisse eines querys lassen sich mit der Klasse FMResultSet sehr gut verarbeiten. Einziges Manko: Vor der ersten Benutzung der Datenbank muss diese noch “händisch” in das Dokumentenverzeichnis kopiert werden.

- (void)copyDB
{
BOOL exists;
NSFileManager *fm = [NSFileManager defaultManager];
exists = [fm fileExistsAtPath:[self databasePath]];
if(exists) return;
NSLog(@"copying ...");
NSString *resourcePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:DATABASE_FILE_NAME];
[fm copyItemAtPath:resourcePath toPath:[self databasePath] error: nil];
[fm release];
NSLog(@"done. copied to: %@",[self databasePath]);
}