Swift和Objective-C混合编程

在Objective-C中使用Swift的类

  • 在需要使用Swift类的Objective-C文件中导入
 // 使用具体项目名替换掉ProductModeulName
// 比如,一个叫MyApp的项目就写作  #import "MyApp-Swift.h"
#import "{ProductModuleName}-Swift.h"  
  • 在Objective-C文件中像使用普通的Objective-C类一样使用Swift文件中的类(编写过程或报错,因为Swift文件没有被编译器编译成可以供Objective-C直接使用的模块,编译过后就不会报错了)

在Swift中调用Objective-C的代码

  • 使用bridging-header
  • 一般在导入Objective-C文件的时候,Xcode会提示你是否自动生成bridging-header
  • 选择确定后,发现Xcode自动创建了一个以{ProductModuleName}-Bridging-Header.h文件({ProductModuleName}是你的具体项目名)
  • Xcode会在工程的配置中也自动加上header
  • {ProductModuleName}-Bridging-Header.h中引入你需要使用的Objective-C头文件
// MyApp-Brigding-Header.h
#import "ObjectiveCClass.h"
  • 在需要使用Objective-C类的Swift文件中直接使用即可
    原文作者:南衍儿
    原文地址: https://www.jianshu.com/p/fa178106a117
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞