oc调用swift
2015-11-14 11:30
501 查看
OC调用Swift
如果你想在Objective-C工程中,嵌入Swift文件,实现OC调用Swift,那么这篇文章就能帮助你,由于本人最近在开发Swift项目,所以实现过OC调用Swift,在这过程中遇到过一些瓶颈,特此,将此文奉上,供大家参考。OC调用Swift文件,需要创建桥接头文件,这个文件是当你在OC开发环境中创建Swift文件时由Xcode生成,该桥接头文件的命名是:<工程名>-Bridging-Header.h,它的作用是实现OC和Swift文件混编,并且如果我们想在当前OC类中调用Swift文件,必须在当前OC类中包含头文件,它的命名是:<工程名>-Swift.h,该头文件是由Xcode本身去维护,当我们点击进入到该头文件时,会看到Swift文件被编译成了OC封装的接口。
下面让我们来通过一个小Demo,进一步了解如何实现OC调用Swift。
第一步:创建OC工程
启动Xcode 7.1,然后单击File→New→Project菜单,在打开的Choose atemplate for your new project界面中选择“iOS →Application→Single View Application”工程模板(如下图所示)。选中Single View Application单击“Next”,会出现如下图所示
这里我们将工程名命名为OCCallSwift,单击“Next”,就会出现下图所示的界面。
单击“Create”,这时我们的OC工程就创建好了。
接下来我们创建一个OC的类,类名为OCViewController,具体怎么创建就不详细说了。
第二步:在OC工程中添加Swift文件
在当前OC工程中,创建Swift文件,如下图所示:选中Cocoa Touch Class,点击“Next”,此时会跳到下图:
这里我们将Swift文件命名为SwiftViewController,将Language设置为Swift,单击“Next”,跳到下图:
这时单击“Creat”,就会弹出“Would you like to configure an Objective-C bridging header?”,如下图所示
单击“Create Bridging Header”,这时我们就在OC工程中创建好了一个Swift文件,如下图所示
第三步:实现OC调用Swift
这里我们就简单实现一下在OC类中跳转到Swift文件中1)在OC类中包含头文件
#import <OCCallSwift-Swift.h>,命名规则为:<工程名>-Swift.h,如下图所示
2)在OC类中调用Swift文件,跟OC类调用OC类实现方式一样,如下图所示:
这样我们就实现了OC调用Swift。
友情提示:1.以上的代码是在Xcode7.1中实现,并且是新工程;
2.必须创建桥接头文件(“Create Bridging Header);
3.必须在调用Swift文件的OC类中包含如下头文件:<工程名>-Swift.h;
4.如果以上条件全部符合,但是你在一个老的OC应用中调用Swift,有可能出现下面情况'<工程名>.Swift' file not found,这时你就应该在Xcode中的Build Setting中找到"Defines
module",将其改为Yes;
特别说明:1. 以上Swift文件均指Swift类;
2. Swift语言为Swift2.0版本。
著作权声明:本文为原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢
相关文章推荐
- Swift快速入门
- swift数据类型
- swift中操作string
- 开始swift学习之路
- 图形的绘制(包括线段 圆形 矩形等) swift编写
- swift-教你如何实现导航上的UISearchController动画效果。
- SWIFT——函数
- swift 泛型
- swift 泛型
- swift 自行理解
- swift 自行理解
- swift变量交换赋值
- swift变量交换赋值
- swift 上传文件到服务器
- Swift Protocol optional
- Swift函数
- Swift
- swift sqlite3使用
- Swift Literal Convertibles
- swift之数组(Array)、集合(Set)、字典(Dictionary)