Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 需要关于编写SQLite3 Objective-C结果集包装器的帮助吗_Iphone_Objective C_Sqlite - Fatal编程技术网

Iphone 需要关于编写SQLite3 Objective-C结果集包装器的帮助吗

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进行交互 谢谢

我正在尝试为iPhone编写一个sqlite resultset包装类,我希望能够动态调用
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不同的解决方案。