Transferable 在 SwiftUI 中实现拖放的初体验 Swift 中的游戏规则改变者协议(教程含源码)
2023-09-11 14:18:29 时间
在 WWDC 2022 和其他有趣的公告中,Apple 在 Swift 中展示了一个名为Transferable的新协议。简而言之,Transferable 使得在同一应用程序内的不同位置甚至不同应用程序之间复制数据变得非常简单和绝对直接。而当谈到复制时,这不仅包括复制和粘贴,还包括拖放。
在 Transferable 可用之前,必须执行一系列特定步骤才能如上所述传输数据。特别是对于自定义类型,必须采用特定协议并实现一些必需的方法,以便序列化和反序列化、与项目提供者及其包含的数据一起工作等等。然而,所有相关细节在这里都没有多大意义,因为主题是所有这些的演变,Transferable 协议。对于所有这些工作的人来说,Transferable 绝对是游戏规则的改变者。
使用 Transferable,复制或拖放以下内容几乎不需要任何努力:
- 符合 Codable 协议的自定义类型的对象
- Data
- Files
但是请注意,Transferable 在引入之前不受任何操作系统的支持;启用复制粘贴或拖放它们仍然需要求助于以前的编程技术。换句话说,Transferable 可以在 iOS 16+、macOS 13+(Ventura 及更新版本)、watchOS 9.0+ 和 tvOS 16+ 中使用。
这篇文章重点介绍如何使用 Transferable 拖放源自符合 Codable 协议的自定义类型的数据。您很快就会发现,与 Transferable 相关的所需代码行只是几行,因为它负责处理幕后的所有繁重工作。
一个演示项目
为了探索使用 Transferable 启用拖放功能需要什么,我们将专注于实现一个小项目。一方面,我们将展示一系列的一些颜色项目视图,而在另一侧
相关文章
- 【IOS-COCOS2D游戏开发之二】COCOS2D 游戏开发资源贴(教程以及源码)
- 【STM32H7的DSP教程】第7章 ARM DSP源码和库移植方法(IAR8)
- Android系统源码的整编和单编
- 鸿蒙轻内核M核源码分析:数据结构之任务就绪队列
- 安卓系统源码编译系列(六)——单独编译内置浏览器WebView教程
- 008-tomcat源码阅读-查看源码、日志配置、启动配置、启动
- CentOS 7 源码编译安装openssl —— 筑梦之路
- 第二人生的源码分析(112)脚本的综合分析(2)
- Mybatis3源码分析:Sql解析执行-结果集映射(ResultSetHandler)
- Faster RCNN网络源码解读(Ⅱ) --- Faster RCNN源码使用
- Python基于RCNN&CTC的视频字幕识别系统(源码&部署教程)
- [YOLOv7]基于YOLO&Deepsort的交通车流量统计系统(源码&部署教程)
- Python基于OpenCV高空抛物检测系统[完整源码&部署教程]
- Python基于OpenCV的图像去雾算法[完整源码&部署教程]
- [完整源码&UI界面&视频安装教程&鸟巢数据集]输电塔绝缘子上鸟巢检测Python&YOLOv5源码
- Python基于OpenCV的人脸集合相似度检测系统(源码&UI&教程)