我想为iPhone编写一个SQLite结果集 Package 类,以动态调用sqlite3_column_int或sqlite3_column_text。在我的fetchAll方法中,我希望在不知道数据类型的情况下只返回数据。我在考虑使用performSelector。我该如何设计这样一个类来与SQLite交互呢?
sqlite3_column_int
sqlite3_column_text
fetchAll
performSelector
6qftjkof1#
不,您不能使用Objective-C特性以这种方式调用C函数(即PerformSelector)。您可以在Objective-C中调用C代码。一种方法可能是保留指向要调用的C函数的函数指针,然后实现一些逻辑以选择要引用的适当函数指针。
hzbexzde2#
我不太确定我是否理解,但我想您也许能够编写一些包含少量纯C语言的Objective-C方法,并在这些方法上调用PerformSelector。不幸的是,用于iPhone的SQLite3API有点糟糕。
2条答案
按热度按时间6qftjkof1#
不,您不能使用Objective-C特性以这种方式调用C函数(即PerformSelector)。您可以在Objective-C中调用C代码。一种方法可能是保留指向要调用的C函数的函数指针,然后实现一些逻辑以选择要引用的适当函数指针。
hzbexzde2#
我不太确定我是否理解,但我想您也许能够编写一些包含少量纯C语言的Objective-C方法,并在这些方法上调用PerformSelector。不幸的是,用于iPhone的SQLite3API有点糟糕。