OC引用Swift
在混合项目中Swift代码默认使用module管理,这时想要OC引用Swift需要把Swift代码作为module暴露给整个项目,修改Build Settings如下:
![1480065-da206521f0347aff.png](https://i-blog.csdnimg.cn/blog_migrate/3cb4dcf5f896406c2499869a255fd544.webp?x-image-process=image/format,png)
然后创建一个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如下
![1480065-e835e7ad22de0583.png](https://i-blog.csdnimg.cn/blog_migrate/20924b949f622a382c43f5a91a9f6cce.webp?x-image-process=image/format,png)
手动创建桥接文件后要在Build Settings中设置路径,搜索bridging找到Swift Compiler-General -> Objective-C Bridging Header,然后把桥接文件拖进来就大功告成了。
![1480065-d0757040ef39c92f.png](https://i-blog.csdnimg.cn/blog_migrate/b449a6a158ce2c074ea8391f2f716442.webp?x-image-process=image/format,png)