链接:Swift项目中,Swift 和OC混合开发
一、Swift调用OC文件
1.如果是新建Swift文件,会提示是否创建桥接文件
桥接文件
如图,点击创建,会自动生成一个 “项目名-Bridging-Header.h”文件,将Swift需要调用的OC头文件,导入桥接文件即可

导入OC头文件
2.如果点击了否,需要手动创建桥接文件
手动创建桥接文件

“项目名-Bridging-Header.h”,Create
最重要的一步, Build Settings > 选择 Objective-C Bridging Header > 输入刚才的文件名 “项目名-Bridging-Header.h”(提示:文件路径要正确)。Xcode9默认混编下的Swift Language Version不是4.0,修改一下。同样,将Swift需要调用的OC头文件,导入桥接文件即可。

桥接文件路径
二、OC调用Swift文件
1.同样的方法创建桥接文件
2.TARGETS ->Build Settings -> Packaging,设置Defines Module为YES,设置 Product Module Name ,也可以不设置,默认为工程的名字。

Defines Module
工程名-Swift.h代替所有的Swift文件,#import "工程名-Swift.h",就可以在OC文件中调用了。
网友评论