2009-01-09 48 views
2

我想知道是否可以使用KVC来生成SQL。我正在做一个轻的ORM;我想要做的是这样的(伪):使用KVC生成SQL?

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

,并得到:

INSERT INTO Table (Field1) VALUES (1); 

在Objective-C这可能吗?

回答

0

我发现class_copyPropertyList这样填满账单。

我从SQLite持久对象中获得。我只需要知道如何实现关系;)

0

键值编码无法真正做到这一点,但是如果您不想为对象构建特定的数据访问层,则可以使用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];