Frage

Ich frage mich, ob es möglich ist, KVC zu verwenden SQL zu generieren. Ich mache ein Licht ORM; Ich will etwas tun, wie dieser (Pseudo-Code):

for key in object.getKeys
    sql = sql + formatField(key,objet.value[key]);

und erhalten:

INSERT INTO Table (Field1) VALUES (1);

Ist das möglich in Objective-C?

War es hilfreich?

Lösung 3

Ich fand class_copyPropertyList so dass die Rechnung füllen.

ich, dass von SQLite Persistent Objects. Ich nur noch wissen, wie sie die Beziehungen umzusetzen;)

Andere Tipps

Key Value Coding kann nicht wirklich tun, aber man konnte eine NSDictionary für diese Aufgabe verwenden, wenn Sie nicht wollen, eine Datenzugriffsschicht spezifisch für Ihre Objekte zu bauen. Hier ist ein kurzes Beispiel für numerische Felder:

for ( NSString *key in [dictionary allKeys] )
{
    fields = [fields stringByAppendingFormat:@", %@", key];
    values = [values stringByAppendingFormat:@", %ld", (long)[[dictionary objectForKey:key] integerValue]];
}

NSString *sql = [NSString stringWithFormat:@"INSERT INTO Table (%@) VALUES (%@);", fields, values];

Was Sie wollen, klingt sehr ähnlich wie SQLite Persistent Objects. Es ist eine Reihe von Objective-C-Klassen, die im Grunde tun, was du redest. Details über die Klassen und die Quelle (die besonders interessant für Sie sein, wenn Sie möchten, dass Ihre eigene Version schreiben) finden Sie hier: http://iphonedevelopment.blogspot.com/2008/08/sqlite-persistent-objects.html

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top