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)

相关推荐
Swift社区20 分钟前
LeetCode 374 猜数字大小 - Swift 题解
算法·leetcode·swift
七牛云行业应用36 分钟前
iOS 19.3 突发崩溃!Gemini 3 导致 JSON 解析失败的紧急修复
人工智能·ios·swift·json解析·大模型应用
初级代码游戏1 小时前
iOS开发 SwiftUI 6 :List
ios·swiftui·swift
00后程序员张1 小时前
iOS APP 性能测试工具,监控CPU,实时日志输出
android·ios·小程序·https·uni-app·iphone·webview
Digitally2 小时前
如何在电脑上轻松使用 iPhone 作为 U 盘
ios·电脑·iphone
2501_915921432 小时前
360移动端性能监控实践QDAS-APM(iOS篇)
android·macos·ios·小程序·uni-app·cocoa·iphone
TheNextByte12 小时前
如何从进水损坏的 iPhone 中恢复数据?
ios·iphone
牛马11114 小时前
iOS :Codable协议,字典,数组的详细分析和比较
ios
特别橙的橙汁18 小时前
Node.js 调用可执行文件时的 stdout 缓冲区问题
前端·node.js·swift
TheNextByte119 小时前
如何将 iPhone 备份到外置硬盘?
ios·iphone