Swift类与OC类相互调用

这里将使用Xcode 8.0演示Swift与OC类的相互调用

- Swift项目中调用OC类

1.首先在Swift工程中新建一个OC类进行演示

新建OC类.png

在点击Next-->选择路径后,会提示是否创建一个桥接文件

提示是否创建桥接文件.png

注意:这个提示只会在Swift项目第一次创建OC类时提醒,如果点击了Cancel或者是Don't Create,当此项目再创建OC类时,不会提醒创建桥接文件

2.这里先选择Create Bridging Header来演示,在我们创建好一个OC类的同时,系统会自动帮我们以项目名称-Bridging-Header生成一个桥接文件OC_Swift-Bridging-Header.h

桥接文件.png

3.将OC类的头文件导入到桥接文件中
#import "Person.h"

4.这样就可以在Swift类中使用OC类了
lazy var person: Person = Person()

如果手动创建桥接文件,需要手动配置路径(类似于PCH文件一样)
1.创建桥接文件:iOS-->Source-->Header File
2.配置路径:点击项目-->Build Settings-->Swift Compiler - Code Generation下的Object-C Bridging Header后补全路径

- OC项目中调用Swift类

1.还是在刚刚的Swift项目中,直接新建一个OC控制器类,将StoryBoard中初始控制器的身份检测器标识换成OC类


OC类.png

2.在刚刚的项目中新建一个Student的Swift类

3.在OC类中调用Swift类,需要按照#import "项目名-Swift.h"格式导入头文件,例如:
#import "OC_Swift-Swift.h"

注意:如果项目名称中同时包含 中文、数字和 "-" ,可能会导致失败

4.这样就可以在OC项目中使用Swift类了
Student *student = [[Student alloc] init];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift 介绍 简介 Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序 ...
    大L君阅读 3,300评论 3 25
  • 由于公司需要,今天开始学习swift,打算先创建个工程,做基本代码测试,结果刚开始的文件相互调用就遇到了问题,在这...
    琉璃艺术阅读 9,578评论 5 8
  • 前言: Swift语言出来后,可能新的项目直接使用Swift来开发,但可能在过程中会遇到一些情况,某些已用OC写好...
    疯狂的电脑阅读 2,336评论 0 9
  • swift强势来袭,想要紧跟脚步,但之前OC的工程推倒重来在时间和实践上都有点伤神,混编就是这个过渡的桥梁,使...
    _skye阅读 5,275评论 8 22
  • 1. swift中创建控件 tips:在swift中我们可以利用Playground文件,查看UI控件的状态,而不...
    MrRightGen阅读 1,420评论 1 2