iOS 在OC旧项目中使用Swift进行混编

iOS 在OC旧项目中使用Swift进行混编

1、创建桥接文件

​ 第一次在Swift创建OC文件,或者第一次OC创建Swift时,xcode会提示桥接,Creat Bridging Header即可,这个文件用于Swift调用OC文件,与OC调用Swift无关。

2、在TARGETS中设置Defines Module

​ TARGETS ->Build Settings -> Packaging 中 设置Defines Module为YES

3、如何使用
  • 在OC中调用swift:在需要使用swift文件的oc类中,添加头文件 #import "项目名称-Swift.h"
objectivec 复制代码
#import "TestOcSwitchSwift-Swift.h"
SwiftViewController * tmpVC = [[SwiftViewController alloc]init];
[tmpVC setModalPresentationStyle:UIModalPresentationFullScreen];
[self presentViewController:tmpVC animated:YES completion:nil];
  • 在swift中调用oc:在桥接文件中引入要使用的oc类
objectivec 复制代码
在 TestOcSwitchSwift-Bridging-Header.h 中
#import "FirstViewController.h"
//在需要使用的地方直接调用。例如:在这里直接跳转页面
 let tmpVC = FirstViewController()
 tmpVC.modalPresentationStyle = .fullScreen
 present(tmpVC, animated: true, completion: nil)

相关推荐
I烟雨云渊T5 小时前
iOS 门店营收表格功能的实现
ios
明月看潮生11 小时前
青少年编程与数学 01-011 系统软件简介 07 iOS操作系统
ios·青少年编程·操作系统·系统软件
90后的晨仔13 小时前
RxSwift 框架解析
前端·ios
大熊猫侯佩17 小时前
由一个 SwiftData “诡异”运行时崩溃而引发的钩深索隐(五)
swiftui·swift·apple watch
可爱小仙子17 小时前
ios苹果系统,js 滑动屏幕、锚定无效
前端·javascript·ios
未来猫咪花18 小时前
# Flutter状态管理对比:view_model vs Riverpod
flutter·ios·android studio
咕噜企业签名分发-淼淼1 天前
开发源码搭建一码双端应用分发平台教程:逐步分析注意事项
android·ios
键盘敲没电1 天前
【IOS】GCD学习
学习·ios·objective-c·xcode
SY.ZHOU1 天前
Significant Location Change
macos·ios·cocoa
吴Wu涛涛涛涛涛Tao2 天前
深入理解 Swift Codable:从基础到进阶
ios