我想知道是否可以使用KVC来生成SQL。我正在做一个轻量的 ORM;我想做这样的事情(伪代码):
for key in object.getKeys
sql = sql + formatField(key,objet.value[key]);
并得到:
INSERT INTO Table (Field1) VALUES (1);
这在 Objective-C 中可能吗?
最佳答案
键值编码实际上无法做到这一点,但如果您不想构建特定于对象的数据访问层,则可以使用 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];
关于cocoa - 使用KVC生成SQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/426848/