1

我正在寻找在一个新的 Objective-C 项目中使用TagLib,一个用于从各种音频文件中获取标记信息的 C++ 库。

  1. 有没有人在 Objective-C 项目中使用过这样的 C++ 库?
  2. 我应该期待什么样的障碍?
  3. 任何人都可以为我指出这个主题的好教程或指南吗?

另外... TagLib 甚至是一个不错的选择吗?我需要支持 MP3、WMA、FLAC、MP4、M4A、AAC 和 OGG 文件。我不相信会有支持所有这些的原生 Mac 框架。

谢谢!

4

1 回答 1

3

混合 Objective-C 和 C++ 非常容易;几乎没有问题。在 Apple 阅读此文档。如那里所述,有一种叫做 Objective-C++ 的东西,它允许您在同一个文件中混合 C++ 和 Objective-C++。在 XCode 中,只需使用文件扩展名.mm 即可使用 Objective-C++。

它并没有试图统一所有的 Objective-C 对象和 C++ 对象;您可以同时独立使用它们。所以 Objective-C 对象由retain/管理release,C++ 对象由new/管理delete。有一些棘手的事情,例如将非指针 C++ 对象作为 ivar 放入 Objective-C 类中,但如果您始终使用 C++ 指针(而不是非指针对象),您将不会遇到任何重大问题。

于 2010-12-30T07:09:22.430 回答