混合Objective-C和C有哪些陷阱和陷阱?

前端之家收集整理的这篇文章主要介绍了混合Objective-C和C有哪些陷阱和陷阱?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有可能过于简单化我担心的事情可能会非常复杂,在混合使用C和Objective-C时我应该注意什么?

编辑:只是为了澄清,我以前从未使用过C,我正在通过Cocoa学习Objective-C.我也在使用Chipmunk Dynamics引擎,它是C.

解决方法

我反过来说:你可能冒着过于复杂的过于复杂的风险:-)

好吧,我有点油腻.正如其他人指出的那样,Objective-C实际上只是C语言扩展的最小集合.当您编写Objective-C代码时,您实际上正在编写C.您甚至可以访问Objective-C运行时支持的内部机制使用一些方便的C函数作为语言的一部分(不……我不建议你实际做到这一点,除非你真的知道你在做什么).

大约有一次我曾经遇到过一些轻微棘手的时刻,那就是我希望将Objective-C实例方法作为回调函数传递给C函数.比如说,我正在使用一个纯C跨平台库,它具有接受回调的功能.我可以在一个对象实例中调用函数来处理一些数据,然后希望该C函数在完成时调用我的实例BACK,或者作为获取额外输入等的一部分(C中的常见范例).这可以通过时髦的功能包装和我见过的一些其他创造性方法来完成,如果你需要使用Google搜索“c-callback的客观c方法”或类似的东西,它会给你带来货物.

另一个建议是确保您的对象适当地管理它们为C函数使用而创建的任何手动malloced内存.你会希望你的objective-c类在dealloc上整理那个内存,如果它确实已经完成了.

除此之外,灰尘消除C上的任何参考,玩得开心!

猜你在找的C&C++相关文章