Ojective-C与swift混编

Objective-C作为当前主流的iOS编程的语言,但目前的swift有着赶超oc的劲头,从苹果14年开始发布swift,到现在swift的项目也随处可见了。swift的优势,自己google,小白在这里只说一说在xcode下oc与swift如何混合编程

oc中使用swift

首先,在工程的Build Setting中把defines module设为YES

Ojective-C与swift混编_第1张图片
1.将defines module设为YES

然后,把 product module name设置为 工程项目的名字
Ojective-C与swift混编_第2张图片
2.将product module name设为工程项目的名字

最后,在你的oc文件中导入 projectName_swift.h
Ojective-C与swift混编_第3张图片
3.在oc文件中导入projectName_swift.h

注意:projectName_swift.h这个文件是系统自己创建的,勿手动创建

swift中使用oc

swift中使用oc,需要依赖Objective-C bridging header将相关文件暴露给oc,创建Objective-C bridging header文件的方式有两种
1.自动创建
当你在swift中尝试创建oc文件时,系统会自动帮你创建Objective-C bridging header

Ojective-C与swift混编_第4张图片
1.创建文件

Ojective-C与swift混编_第5张图片
2.创建oc文件

Ojective-C与swift混编_第6张图片
3.弹框创建bridging header文件

此时除了你创建的 .h.m之外,还会额外多出一个叫 项目工程名-Bridging-Header.h文件,这个文件导入的类是可以暴露给swift看到的,接下来要做的就是 #import xxx
2.手动创建
file>new>file>(iOS or OS x)>source>header file
Ojective-C与swift混编_第7张图片
1.创建header file

注意:此时名字一定是要工程项目名-Bridging-Header

最后一步,在项目的Build Settings选项里,要确保Swift Compiler选项里有这个Bridging Header文件的设置,路径必须指向文件本身,而不是目录!

Ojective-C与swift混编_第8张图片
2.指向bridging header文件

到此结束,感谢你们能读到这里,这篇文章只是小白的粗浅理解,不对之处敬请指出!

你可能感兴趣的:(Ojective-C与swift混编)