首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用KVC生成SQL?

使用KVC生成SQL?
EN

Stack Overflow用户
提问于 2009-01-09 02:22:38
回答 3查看 232关注 0票数 2

我想知道是否可以使用KVC来生成SQL。我正在做一个轻量级的ORM;我想做这样的事情(伪代码):

代码语言:javascript
复制
for key in object.getKeys
    sql = sql + formatField(key,objet.value[key]);

并获取:

代码语言:javascript
复制
INSERT INTO Table (Field1) VALUES (1);

这在Objective-C中是可能的吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-01-09 19:32:39

我找到了class_copyPropertyList,这样就满足了我的要求。

我从SQLite持久对象中得到了这一点。我只需要知道如何实现关系;)

票数 0
EN

Stack Overflow用户

发布于 2009-01-09 03:45:37

键值编码不能真正做到这一点,但是如果您不想构建特定于您的对象的数据访问层,则可以使用NSDictionary来完成此任务。下面是一个数值字段的快速示例:

代码语言:javascript
复制
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];
票数 0
EN

Stack Overflow用户

发布于 2009-01-09 03:51:15

你想要的听起来非常类似于SQLite持久化对象。它是一组objective-c类,基本上可以实现您所说的功能。有关类和源代码的详细信息(如果您想编写自己的版本,可能会对此特别感兴趣)可以在这里找到:http://iphonedevelopment.blogspot.com/2008/08/sqlite-persistent-objects.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/426848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档