2

KVCを使用してSQLを生成することは可能かどうか疑問に思います。私は軽いORMを行っています。私はこのようなことをしたい(擬似コード):

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

そして取得:

INSERT INTO Table (Field1) VALUES (1);

これはObjective-Cで可能ですか?

4

3 に答える 3

0

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];
于 2009-01-09T03:45:36.973 に答える
0

必要なものは、SQLite永続オブジェクトと非常によく似ています。これは、基本的にあなたが話していることを実行するObjective-cクラスのセットです。クラスとソースの詳細(独自のバージョンを作成する場合は特に興味深いかもしれません)は、http://iphonedevelopment.blogspot.com/2008/08/sqlite-persistent-objects.htmlにあります。

于 2009-01-09T03:51:14.730 に答える
0

私はclass_copyPropertyListそれが請求書を満たすように見つけました。

SQLite Persistent Objects からそれを取得します。私は関係を実装する方法を知っているだけです;)

于 2009-01-09T19:32:38.583 に答える