Iphone 需要关于编写SQLite3 Objective-C结果集包装器的帮助吗
我正在尝试为iPhone编写一个sqlite resultset包装类,我希望能够动态调用Iphone 需要关于编写SQLite3 Objective-C结果集包装器的帮助吗,iphone,objective-c,sqlite,Iphone,Objective C,Sqlite,我正在尝试为iPhone编写一个sqlite resultset包装类,我希望能够动态调用sqlite3\u column\u int或sqlite3\u column\u text 例如,在我的fetchAll方法中,我不想知道我返回的确切数据是什么,我只想返回它 我的目标是创建一个不关心数据库中有什么数据的类,它可以满足您的需要,并且不需要担心数据的类型 我曾考虑使用performSelector,但我不确定该如何使用 我如何设计这样一个类,使该类的客户端更容易与sqlite进行交互 谢谢
sqlite3\u column\u int
或sqlite3\u column\u text
例如,在我的fetchAll
方法中,我不想知道我返回的确切数据是什么,我只想返回它
我的目标是创建一个不关心数据库中有什么数据的类,它可以满足您的需要,并且不需要担心数据的类型
我曾考虑使用performSelector
,但我不确定该如何使用
我如何设计这样一个类,使该类的客户端更容易与sqlite进行交互
谢谢 不,不能使用Objective-C功能以这种方式调用C函数(即performSelector)。您可以在objective-C中调用C代码。一种方法可能是保留指向要调用的C函数的函数指针,然后实现一些逻辑来选择指向引用的适当函数指针 我不太清楚我是否理解,但我想您可能能够编写一些包含少量纯C的Objective-C方法,并在这些方法上调用performSelector。不幸的是,iPhone的SQLite3API有点差劲。您可以看看其他包装器是如何做到这一点的。例如,以下是Flying Meat数据库中resultset对象的源:
这是一个有趣的心理练习,但并不适合SQLite。一方面,使用核心数据。但是,如果您想要非类型数据的任意持久性,最好使用自己的解决方案,或者使用与SQLite不同的解决方案。