objective-c - 从 C 函数调用 Objective-C 对象方法

标签 objective-c c function methods

我确实有一个 Objective-C 对象 myObject。 在这个对象中我确实有一些 C 函数。

静态无效C_doThing(无效){ ... }

在 myObject 中,我只需调用 C_doThing() 即可调用该函数。 现在我想从此 C 函数调用 myObject 的方法。

有办法做到这一点吗? “Self”在 C 函数内部不可用。

谢谢

最佳答案

没有; C 函数只是一个简单的 C 函数,恰好在 .m 文件中定义,但它实际上并不是对象(类)的“一部分”。它只是恰好卡在同一个文件中。

您可以将对象(调用者中的 self)作为参数传递给函数,然后调用它的方法。

但是您可能应该将其变成普通的实例方法。您已将其定义为static,这意味着它在文件外部不可见。如果是这样,那为什么不把它变成一个方法呢?

(可能有少数使用实用程序 C 函数的好案例,这些函数仅在单个类实现中使用,但它们非常罕见,并且通常围绕严重的性能优化。)

关于objective-c - 从 C 函数调用 Objective-C 对象方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25921233/

相关文章:

objective-c - 从以编程方式定义的按钮添加 segue

iphone - 以类似网格的方式布局不同尺寸图像的算法

c - cJSON如何解析json数组?

postgresql - 创建 Postgres/PostGIS 函数以根据空间查询更新表值

ios - 如何从 iOS 上的照片输出中检索 AVCameraCalibrationData?

objective-c - 如何让 iPhone 应用程序在方向变化时正确调整大小?

c - malloc 是否分配从 0 到正无穷大的内存?

c++ - 无法在c中获取当前时间

c - 在 C "invalid operands to binary expression (' size_t'(又名 'unsigned long' )和 'char *' )中重新创建 strlcat 函数”

php - 将函数传递给 CodeIgniter 中的 View ?