【发布时间】:2017-02-22 20:45:11
【问题描述】:
我正在用 Swift 构建一个库,它必须支持 Objective-C。
我已经检查了this answer,它建议使用 Objective-C 编写库,但给我的要求是使用 Swift 编写库。我以源代码形式提供库,因此那里关于不稳定 ABI 的论点(反对用 Swift 编写库)不应该适用于我的情况。
所以我听说为了使这个 Swift 库适用于 Objective-C,我必须避免使用 Swift 中的高级功能,而这些功能在 Objective-C 中不可用。例如:
- 泛型
- 结构
- 所有 Swift 类必须派生自
NSObject
所以我的两个问题是:
- 在哪里可以找到这些限制的详尽列表?
- 如何快速测试我的库是否与 Objective-C 兼容?我对 Swift 和 Objective-C 的互操作性主题完全不熟悉。网上能找到的文章不多。 Apple 官方文档是否足够?哪些部分可以提供帮助?
感谢这里的所有帮助。
【问题讨论】:
-
你可以在 Objective-C 中编写单元测试来测试你的 Swift 库的特性。
-
@MikeTaverne 好点!
标签: ios objective-c swift