OC与Swift混编


2016/8/2 iOS

OC 引用 Swift

在混合项目中 Swift 代码默认使用 module 管理,这时想要 OC 引用 Swift 需要把 Swift 代码作为 module 暴露给整个项目,修改 Build Settings 如下:

1

然后创建一个 ProjectName.swift 文件,在 OC 文件中引入该文件就可以随意引用 Swift 代码了;

Swift 引用 OC

同理,Swift 引用 OC 是通过 ProjectName-Bridging-Header 将 OC 代码暴露给整个项目,这里需要考虑两种情况如下:

  1. 在 Swift 项目中创建 OC 文件会自动生成 ProjectName-Bridging-Header 文件,在该桥接文件里引入 OC 头文件就可以引用 OC 代码了,同时系统帮我们设置好了文件路径;

  2. 如果最初创建 OC 文件时没有创建桥接文件,此后创建 OC 文件不会提示创建桥接文件,这时需要自己创建桥接文件 ProjectName-Bridging-Header 如下

2

手动创建桥接文件后要在 Build Settings 中设置路径,搜索 bridging 找到 Swift Compiler-General -> Objective-C Bridging Header,然后把桥接文件拖进来就大功告成了。

3

上次更新: 10/24/2019, 12:39:39 AM