Mar*_*öwe 5 c methods function objective-c
好的,我已经阅读了关于这个主题的六个主题,但没有一个解决方案似乎能解决确切的需求.
题:
Pure C(.c)函数如何在Pure Objective-C(.m)类中调用方法?
每个示例/答案都是在Objective-C(.m)方法中使用C. 我有一个Pure C库,我必须创建一个模拟器,所以我需要将我的内核保持在纯C中并调用Objective-C中的更高级别的仿真方法.
我创建引用和调用方法的任何尝试都失败了.方括号表示法也失败了.在Obj-C中创建全局变量并尝试在Pure-C中使用它不起作用,就好像命名空间是隔离的一样.
有人做过吗?
这是一个流程图:
Obj-C UIButton CLICKED->调用Obj-C方法 - >调用C函数 - >调用Obj-C方法
经过多次实验,我发现解决我的问题的最优雅的方法是使用 .m 后缀将我的核心 C 库转换为 NSObject。来回调用的方法瞬间就解决了。此更改确实改变了我原来的库,但改变很小,它是可以管理的。所以回顾一下:
我原来的 C 文件已重命名为使用 .m 后缀。然后我添加了
@interface myCLibrary : NSObject
@end
Run Code Online (Sandbox Code Playgroud)
到我的 .h 文件,并添加到我以前的 .c 文件,现在重命名为 .m。
@implementation myCLibrary
@end
Run Code Online (Sandbox Code Playgroud)
请记住,C 函数不能粘贴在这些接口/实现声明之间、其下方。只有 Objective-C 才能进入这些语句。完成此操作后,调用 C 函数并调用 BACK 到其他 C 函数效果非常好。
不管怎样,感谢所有的帮助。
归档时间: |
|
查看次数: |
5200 次 |
最近记录: |