cocoa - 使用KVC生成SQL?

标签 cocoa orm key-value-coding

我想知道是否可以使用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/

相关文章:

objective-c - Apple 模板在转换为 BOOL 后是否包含错误?

java - 在 Hibernate 中映射计算字段

objective-c - Objective C——是否有一个键路径会导致对象返回自身?

objective-c - 我想了解何时使用 @property 与实例变量

cocoa - 来自枚举值的 NSString

python - 用户表中的外键已保存但立即回滚

java - "Key-Value Coding"用于 Java

当 Key-Value 不起作用时的 Objective-C 点语法技巧?

objective-c - 如何以编程方式创建多个窗口?

json - 如何在 Django JSONField 数据上聚合(最小/最大等)?