Swift和Objective-C混合编程——Swift调用OC
2017-05-20 13:56
309 查看
在iOS应用的开发中。Swift必将代替OC,两者的趋势是“短期共存,长期代替”。但曾经有太多的代码是用OC语言完毕的,而Swift的开发也从 OC中继承了非常多的特性。两者也是有非常多的类似之处。
眼下Swift和OC能够实现无缝的混合编程。
我这里会实现一个简单的Swift调用OC的iOS实例,实现过程是十分的简单的。
就像我们全部的Hello World一样。
详细操作过程例如以下:
(1)Xcode中新建一个iOS项目,语言选择Swift。设备选择iPhone.文件夹结构例如以下:
![](http://img.blog.csdn.net/20150807102133908?<br/><br/>watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
(2)然后在该项目中右键New File,选择 Cocoa Touch Class, 输入类名,继承NSObject,语言选择Objective-c.选择Next后。第一次在Swift中创建OC类的时候,会弹出例如以下对话框,点击Yes就可以:
![](http://img.blog.csdn.net/20150807102029523?<br/><br/>watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
。
(3)创建完OC类之后,项目的文件夹结构例如以下:发现文件夹结构中多了三个文件,Hello.h,Hello.m各自是我创建的OC的类,等下会用Swift来进行调用。另一个就是Bridging-Header.h,能够把这个理解为是OC和Swift之间桥接的文件。
![](http://img.blog.csdn.net/20150807102315711?<br/><br/>watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
。
(4)然后在Bridging-Header.h,中引入OC类的头文件,代码为:#import "Hello.h"
(5)然后在OC类中实现一个简单的方法。输出一条语句,先在Hello.h中进行声明:
![](http://img.blog.csdn.net/20150807103051300?<br/><br/>watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
。
然后在Hello.m中使用OC语法实现该方法:
![](http://img.blog.csdn.net/20150807103149358?<br/><br/>watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
。
(6)然后在Swift的类ViewController.swift的viewDidLoad()中调用OC的方法:
![](http://img.blog.csdn.net/20150807103621638?<br/><br/>watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
。
(7)最后执行打印结果,
![](http://img.blog.csdn.net/20150807103651070?<br/><br/>watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
.
至此,Swift就能方便的调用OC的代码了。
是不是非常方便的。
github主页:https://github.com/chenyufeng1991 。欢迎大家訪问!
眼下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 。欢迎大家訪问!
相关文章推荐
- Swift和Objective-C混合编程——OC调用Swift
- Swift和Objective-C混合编程——Swift调用OC
- 《从零开始学Swift》学习笔记(Day 70)——Swift与Objective-C混合编程之Swift与Objective-C API映射
- swift学习笔记一: 调用Objective-C代码
- OC 与Swift混合开发之相互调用
- Swift与Objective-C和Cocoa混合编程的基本设置
- swift与oc的互相调用
- OC与swift相互调用
- 在一个项目中同时使用Swift和Objective-C代码混合编程的方法
- Swift调用OC和C
- Swift开发:Swift项目调用OC代码
- Swift 与 Objective-C混合编程
- 关于Objective-C 和 Swift 的相互调用
- OC与swift的相互调用
- Swift学习笔记(三)——OC与swift的相互调用
- swift中使用OC的方法;在OC中调用swift方法
- Swift调用OC之文件操作-NSBundle
- Swift调用OC之NSDictionary
- Swift调用OC之数据存储-NSData
- IOS-Swift、Objective-C、C++混合编程