Swift 与 OC 混编
1.OC 项目中,引入 Swift 文件
1.1 Swift文件中使用OC 文件
【第1步】创建一个Swift 文件
会自动弹出创建桥接文件的弹窗,点击“创建桥接文件按钮”
系统会自动生成一个 “项目名-Bridging-Header.h” 例如:TestOC-Bridging-Header.h
【第2步】桥接文件中,引入OC 头文件
这个文件需要写的内容是 Swift 文件中需要用的OC头文件,像下面这样
【第3步】Swift 文件中使用 OC 文件
1.2 OC文件中使用Swift类
在创建桥接文件的同时,系统也会创建一个"项目名-Swift.h"文件, 在项目目录中是不能直接看到这个文件,需要通过以下方法查看:
第1步】OC 中直接调用Swift 类
这时,在OC 中调用Swift 中的类, 会发现找不到这个类:

我们去“Test-Swift.h”文件中搜索“PersonOCClass” 这个类,会发现没有。这是因为Swift 的类没有继承NSObject, 所以这个类不会在“Test-Swift.h”中生成。
【第2步】给PersonOCClass类加上继承NSObject:
【第3步】再去“Test-Swift.h”搜索“PersonOCClass” 这个类
发现这个类生成了OC的头文件, 但是没有changeName方法的声明,是因为没有在方法前面加上@objc
【第3步】给changeName 方法前面加上@objc:
【第4步】再去“Test-Swift.h” 看 “PersonOCClass” 这个类
【第5步】OC 文件中使用Swift 方法
2.Swift 项目中,引入 OC 文件
过程几乎与上面一样。。
2.1 Swift文件中使用 OC 类
- 创建一个OC 文件,会自动弹出创建桥接文件的弹窗,点击“创建桥接文件按钮”
- 系统会自动生成一个 “项目名-Bridging-Header.h” 例如:TestSwift-Bridging-Header.h
- 桥接文件中,引入OC 头文件
- Swift 文件中使用OC 的类
2.2 OC文件中使用Swift类
- Swift 的类继承NSObject
- 需要暴露给OC 的方法前面加上@objc
- OC 中调用Swift 的类和方法
好了,小编给大家整理的swift的结构体与类的方法调度,若有收获,就点个赞吧!
青山不改,绿水长流,后会有期,感谢每一位佳人的支持!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了