ios - CoreAudio 的首选语言

标签 ios objective-c swift macos core-audio

<分区>

我开始尝试使用 Swift 中的 CoreAudio 以及用 Objective-C 编写的“学习 CoreAudio”示例。我注意到的是,将 Swift 与 CoreAudio 一起使用有点尴尬......

例如,我必须使用奇怪的 UnsafeMutablePointer struct 来处理指针,并且 CoreAudio 中有很多指针...此外,在设置和获取属性时,您经常使用 sizeof()sizeof() 返回一个 Int 并且属性获取和设置函数需要一个 UInt32所以我必须做类似 UInt32(sizeof(variable.dynamicType)) 这样的事情才能工作,还有很多奇怪的事情发生......

所以我开始思考是否可以在 Obj-C 中编写 Core Audio 代码并在 Swift 中编写所有应用程序 UI?使用 Obj-C 而不是 Swift 会遇到任何性能瓶颈吗?还是为了兼容性和性能我应该坚持使用 Swift?

最佳答案

Core audio 是一个基于 C 的 API,因此与 objC 混合使用时可能感觉不那么尴尬。

然而,您可以编写满足您需要的高级 ObjC 包装器,这意味着完成您期望从 CoreAudio 实现的所有操作,然后通过添加一个桥接器在一个 swift 项目中使用它。 perf hit 会很荒谬(我知道 apple 说 swift 执行速度比 objC 快,但这是低级别的,所以它是无害的。

关于ios - CoreAudio 的首选语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38898753/

相关文章:

swift - 在 Swift 泛型类型中包含继承约束

ios - 存储 UICollectionViewCell 状态

objective-c - 需要删除.m文件的引用然后重新添加iOS

objective-c - 西类牙语 unicode 字符 SQLite

php - 如何使用 xcode 8 显示基于 PHP MySQL 中的数据的警报?

macos - 将连续色井数据传递到第二个 View Controller

ios - XML 解析器正在阻塞主线程

ios - iAd 中的奇怪错误

ios - 我可以使用 Monotouch.dialog 自定义搜索栏吗

ios - Uber API 编译错误