我有一个用C编写的库,我想在Objective-C应用程序中使用,无论是在Mac还是iPhone上。
不幸的是,由于这个库是由开源空间中的个人编写的,因此文档非常稀疏且不完整。虽然我可以弄清楚如何使用库中的东西,但我并没有真正了解整个代码库。
我想要做的是将库包装到Objective-C中的一些易于使用和可转移的类中。
任何和所有的帮助将不胜感激,谢谢!
首先,请记住:C库是一个Objective-C库。实际上你根本不需要进行任何包装,尽管如果库接口特别麻烦,你可能会想要。
其次,如果您决定要编写库包装器,请保持简单。确定您实际计划使用的库的核心功能,并考虑如何最好地为这些功能和这些功能提供接口,并考虑您的预期用途。设计一个您想要使用的接口,然后通过库实现它。
由于ARC(自动引用计数)已添加到Apple编译器和库中,因此Objective-C和C不再可以自由替换。 (Here's是ARC文档和教程的列表。)您需要更彻底地考虑内存分配问题,并且您可能只想“桥接”库。请参阅this SO question及其中的一些链接,了解Apple如何在Obj-C和C库之间架起桥梁。