iOS开发

iOS Swift基础—Swift 与 OC 混编

2021-10-31  本文已影响0人  一眼万年的星空

1.OC 项目中,引入 Swift 文件

1.1 Swift文件中使用OC 文件

Swift桥接OC Swift桥接OC

1.2 OC文件中使用Swift类

在创建桥接文件的同时,系统也会创建一个"项目名-Swift.h"文件, 在项目目录中是不能直接看到这个文件,需要通过以下方法查看:

Swift桥接OC

这时,在OC 中调用Swift 中的类, 会发现找不到这个类:


Swift桥接OC

我们去“Test-Swift.h”文件中搜索“PersonOCClass” 这个类,会发现没有。这是因为Swift 的类没有继承NSObject, 所以这个类不会在“Test-Swift.h”中生成。

Swift桥接OC

【第3步】再去“Test-Swift.h”搜索“PersonOCClass” 这个类


Swift桥接OC

发现这个类生成了OC的头文件, 但是没有changeName方法的声明,是因为没有在方法前面加上@objc

changeName 方法前面加上@objc changeName 方法前面加上@objc

2.Swift 项目中,引入 OC 文件

过程几乎与上面一样。

2.1 Swift文件中使用 OC 类

  1. 创建一个OC 文件,会自动弹出创建桥接文件的弹窗,点击“创建桥接文件按钮”
  2. 系统会自动生成一个 “项目名-Bridging-Header.h” 例如:TestSwift-Bridging-Header.h
  3. 桥接文件中,引入OC 头文件
  4. Swift 文件中使用OC 的类

2.2 OC文件中使用Swift类

  1. Swift 的类继承NSObject
  2. 需要暴露给OC 的方法前面加上@objc
  3. OC 中调用Swift 的类和方法

以上为这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家支持。

青山不改,绿水长流,后会有期,感谢每一位佳人的支持!

上一篇下一篇

猜你喜欢

热点阅读