在iOS应用的开发中,Swift必将取代OC,两者的趋势是“短期共存,长期取代”。但以前有太多的代码是用OC语言完成的,而Swift的开发也从 OC中继承了很多的特性,两者也是有很多的类似之处。目前Swift和OC可以实现无缝的混合编程。
我这里会实现一个简单的Swift调用OC的iOS实例,实现过程是十分的简单的。就像我们所有的Hello World一样。具体操作步骤如下:
(1)Xcode中新建一个iOS项目,语言选择Swift,设备选择iPhone.目录结构如下:
(2)然后在该项目中右键New File,选择 Cocoa Touch Class,输入类名,继承NSObject,语言选择Objective-c.选择Next后,第一次在Swift中创建OC类的时候,会弹出如下对话框,点击Yes即可:
。
(3)创建完OC类之后,项目的目录结构如下:发现目录结构中多了三个文件,Hello.h,Hello.m分别是我创建的OC的类,等下会用Swift来进行调用,还有一个就是Bridging-Header.h,可以把这个理解为是OC和Swift之间桥接的文件。
。
(4)然后在Bridging-Header.h,中引入OC类的头文件,代码为:#import "Hello.h"
(5)然后在OC类中实现一个简单的方法,输出一条语句,先在Hello.h中进行声明:
。
然后在Hello.m中使用OC语法实现该方法:
。
(6)然后在Swift的类ViewController.swift的viewDidLoad()中调用OC的方法:
。
(7)最后运行打印结果,
.
至此,Swift就能方便的调用OC的代码了。是不是很方便的。
github主页:https://github.com/chenyufeng1991 。欢迎大家访问!