我需要用Swift创建一个静态库,我需要知道如何实现库的接口.
在Objective-C中,我可以在构建阶段将所需的头标记为公共头,但Swift中没有任何头和任何接口.
我应该怎么做Swift?
pun*_*ode 23
简单地说:你没有.
Swift不是一种分隔标题和实现的语言.当您创建基于Swift的库或框架并且仅供Swift使用时,Xcode默认构建设置DEFINES_MODULE已经为您完成了工作.这将创建一个.swiftmodule文件,将import在其他Swift项目中使用.
如果您希望代码可以从Objective-C导入,您可能需要检查是否SWIFT_INSTALL_OBJC_HEADER还启用了构建设置(就我所知,它默认为框架).然后Swift编译器将为您生成一个<ProductName>-Swift.h文件,您可以使用Objective-C代码导入该文件以访问您的Swift类和函数.
如果您希望Swift框架将某些类暴露给接口,只需标记"实体"(函数,变量等)public:
public class Class {}
public var variable: Int
public func function() { }
Run Code Online (Sandbox Code Playgroud)
默认情况下,所有实体都有权internal访问.
public 实体旨在用作API,并且可以由导入模块的任何文件访问,例如作为多个项目中使用的框架.internal 实体可用于包含定义的整个模块(例如,应用程序或框架目标).private 实体仅在定义它们的源文件中可用.来源:官方Swift博客.
| 归档时间: |
|
| 查看次数: |
8765 次 |
| 最近记录: |