广告
返回顶部
首页 > 资讯 > 移动开发 >OC与Swift的相互调用
  • 458
分享到

OC与Swift的相互调用

swiftoc混编iOS 2023-09-15 10:09:31 458人浏览 薄情痞子
摘要

OC调用Swift方法 在 Build Settings 搜索 Packaging ,设置 Defines Module 为 YES  2、新建 LottieBridge.swift 文件,自动生成桥 ProductName-Bridgi

OC调用Swift方法

在 Build Settings 搜索 Packaging ,设置 Defines Module 为 YES

 2、新建 LottieBridge.swift 文件,自动生成桥 ProductName-Bridging-Header.h

 3、在 LottieBridge.swift 中,定义Swift类继承于OC类,声明 @objcMembers@objc ,实现相关方法

import UIKitimport Lottie// 所有方法/属性声明@objcMembers class MyLottieView: UIView {    private let animationView = LottieAnimationView()    override init(frame: CGRect) {        super.init(frame: frame)        self.addSubview(animationView)    }    override func layoutSubviews() {        super.layoutSubviews()        animationView.frame = self.bounds    }    public func setLottieFromURL(_ url: URL?) {        if let url = url {            LottieAnimation.loadedFrom(url: url) { [weak self] (animation) in                self?.animationView.animation = animation                self?.play()            }        }    }    public func play() {        animationView.play()    }}// 单个方法/属性声明@objc class MyLottieView: UIView {    private let animationView = LottieAnimationView()    override init(frame: CGRect) {...}    override func layoutSubviews() {...}    @objc public func setLottieFromURL(_ url: URL?) {...}    @objc public func play() {...}}

在OC代码中引用 ProductName-Swift.h ,调用Swift相关方法

#import "ProductName-Swift.h"- (void)swiftTest {    MyLottieView *lottieView = [[MyLottieView alloc] initWithFrame:CGRectMake(100, 100, 320, 320)];    [self.view addSubview:lottieView];        NSURL *url = [NSURL URLWithString:@"https://assets9.lottiefiles.com/packages/lf20_N0y2Nj.JSON"];    [lottieView setLottieFromURL:url];}

Swift调用OC方法

ProductName-Bridging-Header.h 中加入OC的头声明

#import #import 

在Swift代码中调用OC的相关方法

private func OCTest() {    let configuration = URLSessionConfiguration.default    _ = AFURLSessionManager(sessionConfiguration: configuration)}

来源地址:https://blog.csdn.net/z119901214/article/details/131900040

--结束END--

本文标题: OC与Swift的相互调用

本文链接: https://www.lsjlt.com/news/408435.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • OC与Swift的相互调用
    OC调用Swift方法 在 Build Settings 搜索 Packaging ,设置 Defines Module 为 YES  2、新建 LottieBridge.swift 文件,自动生成桥 ProductName-Bridgi...
    99+
    2023-09-15
    swift oc 混编 iOS
  • IOS开发Swift 与 OC相互调用详解
    目录1、创建桥接文件2、Swift调用OCNS_SWIFT_NAME、NS_SWIFT_UNAVAILABLENS_REFINED_FOR_SWIFT规则3、OC调用Swift4、坑...
    99+
    2022-11-13
  • OC下如何调用swift,最佳简单实践
    新建一个object-c 工程test,创建一个Person.swift类 创建后自动提示: 勇敢说不!点击Don't Create,忽略创建桥接头文件。因为oc调用swift,不需要导入头文件(swift只有.m实现文件)。此时oc和s...
    99+
    2023-09-02
    swift 开发语言 ios
  • Android与JS相互调用的方法
    目录Android调用js的方法实现是引入一个webview用webview打开一个页面调取的JS函数。下面是JS同Android的通信,JS调用Android的函数方法。Andro...
    99+
    2022-11-12
  • python 与c++相互调用实现
    目录一、c++调用Python1.Python脚本2.C++调用python脚本二、接口方法1.规范化语法三、Pthon调用c++1.基于extern2.基于swig一、c++调用P...
    99+
    2022-11-13
  • Kotlin与Java如何相互调用
    这篇文章主要介绍了Kotlin与Java如何相互调用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、Kotlin 调用 Java kotlin 关键字转义java 中的方法...
    99+
    2023-06-25
  • swift framework使用OC代码的方式有哪些
    这篇文章主要介绍“swift framework使用OC代码的方式有哪些”,在日常操作中,相信很多人在swift framework使用OC代码的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希...
    99+
    2023-07-02
  • Android总结之WebView与Javascript交互(互相调用)
    前言: 最近公司的App为了加快开发效率选择了一部分功能采用H5开发,从目前市面的大部分App来讲,大致分成Native App、Web App、Hybrid App三种方式...
    99+
    2022-06-06
    调用 webview JavaScript Android
  • Kotlin与Java相互调用的完整实例
    目录一、Kotlin 调用 Java二、Java 调用 Kotlin附 Github 源码:总结一、Kotlin 调用 Java 1. kotlin 关键字转义 java 中的方法或...
    99+
    2022-11-12
  • AndroidView与Compose互相调用实例探究
    目录1. 前言2. Android传统View调用Compose2.1 新建传统View体系的Android项目2.2 项目添加Compose配置2.2.1 在android代码块添...
    99+
    2023-01-30
    Android View与Compose互相调用 Android View与Compose
  • 怎么实现C#与Lua相互调用
    这篇文章主要介绍“怎么实现C#与Lua相互调用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么实现C#与Lua相互调用”文章能帮助大家解决问题。一、编译Lua动态链接库1. 编译Windows下使...
    99+
    2023-06-30
  • C++如何实现与Lua相互调用
    今天小编给大家分享一下C++如何实现与Lua相互调用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。概述从本质上来看,其实说是...
    99+
    2023-07-05
  • golang与c语言是怎么相互调用
    这篇文章主要为大家展示了“golang与c语言是怎么相互调用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“golang与c语言是怎么相互调用”这篇文章吧。go语言调用c语言以下为一个简短的例子:...
    99+
    2023-06-21
  • C++实现与Lua相互调用的示例详解
    目录概述示例C++调用lua编译lua流程运行lua调用C++解释运行调用语义概述 从本质上来看,其实说是不存在所谓的C++与lua的相互调用。lua是运行在C上的,简单来说lua的...
    99+
    2023-05-13
    C++ Lua相互调用 C++ Lua 调用 C++ Lua
  • Android View与Compose互相调用的方法是什么
    这篇文章主要讲解了“Android View与Compose互相调用的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android View与Compose互相...
    99+
    2023-07-05
  • perl和python的相互调用
    从实用角度出发,并未付诸于解释(有时间后期补充)。程序内容直接复制到文件,即可使用。 注意perl调用python路径在相同目录下; python调...
    99+
    2023-01-31
    perl python
  • C语言与C++项目实现相互调用
    目录前言一、C++项目调用C的静态库二、C项目调用C++的静态库三、总结前言 extern “c”的作用可以实现c语言和c++相互调用。 1.当我们写c语言代...
    99+
    2022-11-12
  • 胶水语言Python与C/C++的相互调用的实现
    准备工作: python:https://www.python.org/downloads/ Dev-C++:https://sourceforge.net/projects/orwelldevcpp/ gcc和g+...
    99+
    2022-06-02
    Python C++调用 Python C语言相互调用
  • Java代码中与Lua相互调用实现详解
    目录一、方案二、性能测试1. ScriptEngine调用方式2. Globals调用方式3. lua调用java三、结论四、其他调用方式?一、方案 Java与Lua相互调用案例比较...
    99+
    2022-11-13
  • Naive与WebView在Android中怎么实现互相调用
    本篇文章为大家展示了Naive与WebView在Android中怎么实现互相调用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Android  Naive与WebView的互相调用详解An...
    99+
    2023-05-31
    android naive webview
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作