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

devtools/2024/9/23 6:30:36/

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”
#import "TestOcSwitchSwift-Swift.h"
SwiftViewController * tmpVC = [[SwiftViewController alloc]init];
[tmpVC setModalPresentationStyle:UIModalPresentationFullScreen];
[self presentViewController:tmpVC animated:YES completion:nil];
  • swift中调用oc:在桥接文件中引入要使用的oc类
在 TestOcSwitchSwift-Bridging-Header.h 中
#import "FirstViewController.h"
//在需要使用的地方直接调用。例如:在这里直接跳转页面let tmpVC = FirstViewController()tmpVC.modalPresentationStyle = .fullScreenpresent(tmpVC, animated: true, completion: nil)


http://www.ppmy.cn/devtools/16846.html

相关文章

数字化革新:可视化墨水屏引领基板工艺MSAP贴膜阶段迈向无纸化高端制造应用背景

随着科技的飞速发展和环境保护意识的日益增强,制造印刷电路板(PCB)行业正面临着提升生产效率、降低资源消耗和推动绿色制造的迫切需求。 问题: PCB生产过程对洁净度要求高,传统打印的纸张会有粉尘,纸屑&am…

安卓原生项目工程结构说明

.gradle 和 .idea (自动生成) .gradle 是gradle下载好的缓存,如果有配置好的 下载好的缓存 直接会拿来用 没有会下载 生成 .idea 是编辑器的配置 app 代码主逻辑 目录 项目中的代码 资源都会在里面 工作的时候的核心目录 gradle 下载安卓的构建器gradle相关的配置信…

极客蒂姆·斯威尼:用虚幻引擎,修补真实世界(上) | 人物志

大片繁茂的植被覆盖在荒废破败的建筑上,昔日光洁的红墙变得暗淡又斑驳,有几根粗壮的嫩绿藤蔓沿着墙面暗红的伤痕向天空探去。天空湛蓝如镜,而远处的高塔却又弥漫起尘埃,漠然盖过山石之间的那座木桥。 一位大叔和少女无声无息&…

Linux + mysql面试题

Linux 基础.Linux 基础说出 个以上的 Linux 命令在 RedHat 中,从 root 用户切到 userl 用户,一般用什么命令?Linux 中,一般怎么隐藏文件?在 Linux 系统中,一个文件的访问权限是 7,其含义是什么…

开源模型应用落地-LangChain高阶-事件回调-合规校验

一、前言 尽管现在的大语言模型已经非常强大,可以解决许多问题,但在处理复杂情况时,仍然需要进行多个步骤或整合不同的流程才能达到最终的目标。然而,现在可以利用langchain来使得模型的应用变得更加直接和简单。 通过使用langchain,用户可以直接提出问题或发送指令,而无…

Docker的网络与容器资源的控制

docker的网络 docker网络模式主要分为四类 host:在这种模式下,新创建的容器不会获得自己的网络命名空间,而是与宿主机共享。这意味着容器会使用宿主机的 IP 地址和端口,并且宿主机的网络配置(如 iptables 规则)会影响…

ABAP json解析使用引用代替预定义数据结构

背景:在解析JSON数据时,通常会事先为定义相应的ABAP数据结构。但是,当遇到一些结构纵深较为复杂的情况时,会比较麻烦。 处理:使用引用类型来定义结构中的纵深部分来达到“省事”的目的,缺点在于访问时需要使…

UE5 GAS开发P34 游戏效果理论

GameplayEffects Attributes(属性)和Gameplay Tags(游戏标签)分别代表游戏中实体的特性和标识。 Attributes(属性):Attributes是用来表示游戏中实体的特性或属性的值,例如生命值、…