Pure ObjC (.m) vs ObjC & Cpp (.mm) mix

Pure ObjC (.m) vs ObjC & Cpp (.mm) mix

本文关键字:ObjC mm mix Cpp vs Pure      更新时间:2023-10-16

在混合Objective C &在.mm文件中的c++,我应该更喜欢在可能的情况下坚持纯ObjC吗?

除了在Objective-C编程指南的objective - c++部分中描述的警告之外,objective - c++没有什么可怕的。与Objective-C相比,它的编译时间要长得多,然而,在头文件中使用c++会影响包含该头文件的所有代码和objective - c++要求。因此,为了您的理智,以及您的代码的任何客户端的理智,在"公共"api中尽可能使用Objective-C,在必要时使用objective - c++。

我不确定使用objective- c++是否会产生任何陷阱,但我个人建议坚持使用纯objective-C,以获得清晰度和代码可读性。如果你计划使用一些特定的c++库,那么在你的项目中使用objective- c++的一个好方法就是将所有的c++功能保存在单独的c++类文件中,这样当你在你的。mm文件中使用c++对象时,你可以将objective-C和c++代码的混合保持在最低限度。当我第一次开始IOS开发时,我使用objective- c++编写了一些项目,但随着我对Cocoa及其功能的了解越来越多,我发现使用c++的冲动减少了,因为坚持使用obj-c和Cocoa框架更好、更简单。