KVCを使用してSQLを生成することは可能かどうか疑問に思います。私は軽いORMを行っています。私はこのようなことをしたい(擬似コード):
for key in object.getKeys
sql = sql + formatField(key,objet.value[key]);
そして取得:
INSERT INTO Table (Field1) VALUES (1);
これはObjective-Cで可能ですか?
KVCを使用してSQLを生成することは可能かどうか疑問に思います。私は軽いORMを行っています。私はこのようなことをしたい(擬似コード):
for key in object.getKeys
sql = sql + formatField(key,objet.value[key]);
そして取得:
INSERT INTO Table (Field1) VALUES (1);
これはObjective-Cで可能ですか?
Key Value Codingは実際にはそれを行うことができませんが、オブジェクトに固有のデータアクセス層を構築したくない場合は、このタスクにNSDictionaryを使用できます。数値フィールドの簡単な例を次に示します。
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];
必要なものは、SQLite永続オブジェクトと非常によく似ています。これは、基本的にあなたが話していることを実行するObjective-cクラスのセットです。クラスとソースの詳細(独自のバージョンを作成する場合は特に興味深いかもしれません)は、http://iphonedevelopment.blogspot.com/2008/08/sqlite-persistent-objects.htmlにあります。
私はclass_copyPropertyList
それが請求書を満たすように見つけました。
SQLite Persistent Objects からそれを取得します。私は関係を実装する方法を知っているだけです;)