|
|
1
2
简而言之:你不能。C不能调用Objective-C方法。 也就是说,Objective-C是C的纯超集,因此可以在Objective-C代码中编写C函数。这些函数需要有一个纯C接口,但在内部可以包含Objective-C代码。因此,您需要创建一个C公共接口(可以在C和Objective-C的混合中实现),并从您的C库中调用它。 编辑:实际上,您可能可以使用用C编写的Objective-C运行时来调用Objective-C方法的C接口。我涉猎过Objective-C运行时,但还不足以流利地了解它。(此外,我大部分时间都在Swift工作,时间已经够长了,甚至我的“香草”Objective-C也变得生疏了。) |
|
|
2
1
您完全可以从C函数调用Objective-C方法。然而,要做到这一点,您需要确保您的C函数具有对某种Objective-C对象的引用。你上面的例子没有说明这一点。 因此,您可以将函数编写为:
或者你可以储存
有一个无关紧要的话题。有时,在Objective-C中,您希望直接引用方法实现,以便可以直接调用它。这在需要性能的紧密循环中非常方便。如果这是你的需要, this blog post 进入主题。 |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 9 月前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 9 月前 |
|
|
Bobby · 复合字面值总是左值吗? 10 月前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 10 月前 |