既然讲的是Swift和OC的混合编程,我的上一篇博客《Swift和Objective-C混合编程——Swift调用OC》讲的是如何在一个Swift项目中调用OC代码,现在我们要实现在OC项目中调用Swift代码,也是非常的方便。具体实现步骤如下:
(1)创建一个iOS项目,语言选择OC,设备选择iPhone。
(2)然后在项目中右键,New Files,选择Cocoa Touch Class,然后语言选择Swift。继承自NSObject。新建,会有一个对话框,选择Yes即可。
。
(3)此时目录结构下多了一个Swift类和一个Bridging-Header.h文件,如图:
。
(4)然后在新建的HelloSwift.Swift类中,写一个方法,等下用OC来调用。
。
(5)然后在项目的ViewController.m文件中import如一个项目的隐藏头文件,格式为 #import "项目名-Swift.h".并在viewDidLoad()中调用Swift的sayHello方法,具体代码如下:
。
。
(6)运行程序,输出结果如下:符合我们的预期。
。
通过以上实现,我们可以在基于OC开发的项目中调用Swift程序,大大提高我们的开发效率,我们再也不必纠结于使用Swift开发还是基于OC了。
github主页:https://github.com/chenyufeng1991 。欢迎大家访问!