需要帮助编写SQLite3 Objective-C结果集包装器

时间:2010-01-30 17:03:51

标签: iphone objective-c sqlite

我正在尝试为iPhone编写一个sqlite结果集包装器类,我希望能够动态调用sqlite3_column_intsqlite3_column_text

例如,在我的fetchAll方法中,我想知道我要返回的确切数据,我只想返回它。

我的目标是建立一个不关心数据库中的数据的类,它可以为您提供所需的数据,而且无需担心数据类型。

我正在考虑使用performSelector,但我不确定它是如何工作的。

我如何设计这样一个班级,让班级的客户更容易与sqlite互动?

谢谢!

3 个答案:

答案 0 :(得分:1)

不,你不能使用Objective-C功能以这种方式调用C函数(performSelector就是这样)。您可以在objective-C中调用C代码。一种方法可能是保持函数指向要调用的C函数,然后实现一些逻辑来选择适当的函数指针来引用。

答案 1 :(得分:1)

我不太清楚我理解,但我想你可能会编写一些包含少量纯C的Objective-C方法并在那些上调用performSelector。不幸的是,用于iPhone的SQLite3 API很糟糕。

答案 2 :(得分:1)

您可以看看其他包装器是如何做到的。例如,以下是Flying Meat Database的结果集对象的来源: http://code.google.com/p/flycode/source/browse/trunk/fmdb/src/FMResultSet.h http://code.google.com/p/flycode/source/browse/trunk/fmdb/src/FMResultSet.m