【发布时间】:2017-07-21 19:32:10
【问题描述】:
Objective C 的新手,一直在开发一些 Swift,将一些可重用的文件转换为可导入的框架。对于 swift,我主要只需要公开类和一些函数,以便在作为框架导入时可以访问它们,这在目标 C 中是如何实现的? (以及完成后如何处理桥接文件)谢谢!
【问题讨论】:
Objective C 的新手,一直在开发一些 Swift,将一些可重用的文件转换为可导入的框架。对于 swift,我主要只需要公开类和一些函数,以便在作为框架导入时可以访问它们,这在目标 C 中是如何实现的? (以及完成后如何处理桥接文件)谢谢!
【问题讨论】:
在 Objective-C 中,您通常在 .h 文件中定义 @interface,并在该 .h 文件中包含所有公共方法和属性。然后为了在你的框架中公开这些,你 #include 伞头文件中的那个 .h 文件。或者,如果将它包含在 Swift 项目中,您将在桥接头中导入该 .h 文件。
在 .m 文件的私有类扩展中定义任何私有属性或 ivars。这样可以防止它们暴露在 .h 文件中。
【讨论】:
#import,这些将在该项目中暴露给 Swift 代码。有一些限制(例如,如果你有可变参数方法),但这基本上就是它的工作原理。有关详细信息,请参阅Swift and Objective-C in the Same Project。