如何将自定义对象转换为 Data Swift

2023-12-29

我有一个自定义结构,它的类型属性是其他具有不可编码类型的结构。它是结构中结构的复杂树,我需要将其转换为数据以便保存它。

我需要保存这个结构(聊天)

struct Chat{
    var dictOfRecentMessages:[String:Message] = [:]
    var matchPicture:UIImage? 
    var metadata:JSON?
}

    struct Message{
        let messageID:String
        var chatID:String
        let whoSent:String
        let timeTriedToSend:Int


        var messageString:String?
        var image:ImageMessage?
        var video:VideoMessage?
        var location:LocationMessage?
        let status:String 

    }

struct ImageMessage{
    var uiImage:UIImage?
    var imageURL:String?
    var imageSize:CGSize?
}
struct VideoMessage{
    var video:NSURL?
    var videoURL:String?
}
struct LocationMessage{
    var clLocation:CLLocation?
    var mapCamera:MKMapCamera?
    var mapSnapshot:MKMapSnapshot?
}

序列化是最好的方法吗,就像这篇文章一样?Swift 结构到 NSData 并返回 https://stackoverflow.com/questions/28916535/swift-structs-to-nsdata-and-back

我尝试过遵守 Codable,但它给出了一个错误,指出它不符合,这是由于类型的原因所期望的。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将自定义对象转换为 Data Swift 的相关文章

  • 如何使用 AppDelegate 在视图之间共享 iAd 横幅

    我希望在我的应用程序中实现 iAd 到目前为止 我已经成功地使用下面的方法让它们在每个视图中正确显示 关闭 应用程序委托 import UIKit import iAd UIApplicationMain class AppDelegate
  • Swift:本地化字符串数组

    我有一个包含 100 多个字符串的数组 其设置如下所示 有什么方法可以本地化数组中的所有字符串 或者这是设置它的更好方法吗 var listOfThings Cars Mopeds 我建议将字符串放入 plist 文件中 然后可以根据需要本
  • 具有图形样式的 DatePicker 打破了 iOS 16.0 上的布局限制

    以下代码在 iOS 16 0 的 Xcode 14 0 0 Beta 5 上运行时打破了布局约束 struct ContentView View State var date Date var body some View DatePick
  • 如何在不使用 ctrl-d 的情况下退出 swift repl?

    I want to quit swift repl gracefully and not use ctrl d to exit it 例如 python repl 可以通过输入退出exit 有类似的方法可以退出 swift repl 吗 这
  • 如何在 Swift Playground 中使用 Carthage 导入的框架

    我有一个快速项目 其中通过迦太基添加了一些框架 是否可以在项目内部的游乐场中使用这些框架以及如何使用它 因为 import Argo 不起作用 这在某个时候停止工作了 叹 我现在做的是 创建 macOS gt 命令行工具 创建一个购物车文件
  • 更改iOS11中的UISearchBar背景图片

    我想更改我的 UISearchBar 背景图像 当将它添加为我的 UITableView 中的标题视图时 它工作得很好 但是 当我想更改它以将 SearchBar 设置为 navigationItem 的 searchController
  • 更改 macOS 应用程序中打开窗口中的文档

    我正在为 macOS 编写一个基于文档的应用程序 我正在尝试编写一项功能来更改当前窗口中的活动文档 以便能够循环浏览文件夹中的下一个 上一个文档 就像使用图像浏览器应用程序一样 我应该调用什么命令来在当前窗口中打开不同的文档 文档表明 op
  • 如何在松开按钮后立即看到新的视频层?

    我有一个应用程序 用户可以按住按钮来拍摄视频 然而 当他们这样做时 带有视频播放的新图层不会立即出现 相反 有一个非常短的延迟 在用户松开按钮后 您可以看到相机仍然显示相机所看到的内容 延迟结束后 视频立即显示并开始播放 但是 我怎样才能使
  • 图表的集合视图呈现:图表 cocoapods 的“没有可用的图表数据”

    我正在编码GraphViewController包含图形数组的类 类型为LineChartView 但是 当我尝试以集合视图的单元格格式显示这些图形时 使用调用的类GraphCell the LineChartView对象似乎没有加载任何数
  • Twitter api 文本字段值被截断

    为什么文本字段值被截断以及如何获得完整的值 截至目前 我正在尝试获取如下所示的文本字段值 do if let responseObject try NSJSONSerialization JSONObjectWithData respons
  • 是否可以在 Swift 中交错 WebView 和 CALayerViews

    我有一个充当多个 CAShapeLayers 容器的视图 它们包含在屏幕上形成组合的贝塞尔曲线 用户可以通过不同的方式管理线宽 颜色 形状填充 不透明度等 我想通过占据相同容器的 WebView 引入文本 诀窍是 理想情况下我希望能够控制每
  • 只有根级导航目的地对于具有同质路径的导航堆栈有效

    我正在尝试整合NavigationStack在我的 SwiftUI 应用程序中 我有四个看法 CealUIApp OnBoardingView UserTypeView and RegisterView 我想从OnBoardingView
  • 将 C 转换为 Swift:向 UITextField 添加放大镜图标

    如何在左侧添加一个放大镜图标UITextField 我找到了类似问题的答案here https stackoverflow com questions 11811705 where can i get the magnifying glas
  • 使用 UItableviewCell 实现 Google 地图

    我正在尝试在 UItableviewCell 组件内实现谷歌地图 我这样做的方法是在原型单元中定义 GMSMapView 然后使用 dequeueReusableCell 方法配置地图单元 但是 我尝试应用的任何更改都会失败 例如添加标记
  • 闭包存储属性初始化有什么好处?

    初始化类的属性时 此代码有什么区别以及优点 缺点 1 let menuBar MenuBar let mb MenuBar return mb and 2 let menuBar MenuBar 两个代码片段都声明并初始化存储的属性 htt
  • iOS - 如何在 swift 中使用 `NSMutableString`

    我已经看过这段 Objective C 代码 但我很难在 swift 中做同样的事情 NSMutableAttributedString res self richTextEditor attributedText mutableCopy
  • 如何从 ContentView 外部显示 SwiftUI 警报?

    我正在构建 Swift 应用程序 并试图找出如何显示警报 我有一个单独的 swift 文件正在执行一些计算 并且在某些条件下我希望它向用户显示警报 基本上告诉他们出了问题 然而 我见过的大多数例子都要求警报在ContentView或以其他方
  • 如何在button.addTarget操作中发送多个按钮?斯威夫特3

    如何将button和button2发送到我的pressButton2函数中 当用户触摸按钮2时 我需要更改按钮和按钮2的颜色 当我的 button2 addTarget 看起来像这样时 我收到错误 表达式列表中存在预期表达式 import
  • 根据一个数组对多个数组进行排序

    如何根据数组对一堆数组进行排序createdAt 例如 2015 11 02 19 19 35 0000 将它们组合成另一种类型 字典 以便在 tableView 中使用是否有益 如果有的话如何 var comment AnyObject
  • 如何更改 SwiftUI 列表中分隔符的颜色?

    我在 SwiftUI 中创建了一个列表 我想更改颜色或删除分隔符 因为在 UIKit 中 我们可以轻松更改 TableView 中分隔符的颜色 下面是 SwiftUI 中列表的代码和 UI 图片 State private var user

随机推荐

  • NHibernate 和 ADO.NET 连接池

    NHibernate 似乎没有池化 ADO NET 数据库连接 仅当事务提交或回滚时连接才会关闭 对源代码的审查表明 无法配置 NHibernate 以使其在 ISession 被释放时关闭连接 这种行为的意图是什么 ADO NET 本身具
  • 如何在flutter中制作动态图表?

    您好 我尝试在 flutter 中制作一个简单的图表 其中 x 轴为日期 Y 轴为数据 当我按下按钮时 当前日期的数据会增加 第一个目标通过以下代码完成 但现在我不知道如何使图表更加动态 我想要统计每个新的一天我按下的按钮 我不知道如何为每
  • 当我只绘制更大的轮廓对象时,Python Opencv drawContours 失败

    我正在尝试绘制最大物体的轮廓 首先 我将显示绘制所有轮廓的图像 为了找到最大的物体 我使用了这段代码 maxsize 0 best 0 count 0 for cnt in contours if cv2 contourArea cnt g
  • 获取旋转后di​​v角点像素位置

    在设置了旋转弧度 度数后 如何计算 div 的左上角 左下角 右上角 右下角像素位置 举个例子会很有帮助 假设旋转相对于中心四个角的坐标也相对于同一原点 每个点 a b where a and bdiv的半宽和半高需要乘以变换矩阵 cos
  • 输入::file() 返回 null Laravel

    我一直在编写一个上传脚本 即使我使用 Laravel 内置函数 Input file 它仍然返回 null 我将发布我的家庭控制器代码 public function handleUpload user Auth user username
  • Coldfusion 和 Linkedin API 工作示例 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有人设法让 LinkedIn API 在 Coldfusion 应用程序中运行吗 Linkedin 开发
  • 贡献给状态栏的控件不可见

    我想在工作台窗口的状态栏中放置一个控件 整个过程应该是直接的 但无论我尝试什么 状态栏的贡献都不会变得可见 因为我没有做own应用程序 但只是向 IDE 提供一个插件 WorkbenchWindowAdvisor和朋友不是一个选择 扩展点是
  • HTML 提交按钮:不同的值/按钮文本?

    我想创建一个 HTML 表单提交按钮value add tag 但是 该网页是瑞典语的 所以我想要一个不同的按钮文字 也就是说 我想要一个像这样的按钮 但我想让我的代码像 if request getParameter cmd equals
  • 如何改变 DataFrame?

    我正在尝试从数据框中删除一些列 并且不希望返回修改后的数据框并将其重新分配给旧数据框 相反 我希望该函数只修改数据框 这是我尝试过的 但它似乎并没有做我所除外的事情 我的印象是参数是作为参考传递的 而不是按值传递的 function rem
  • 这个严格的别名示例正确吗?

    在过去的一周左右的时间里 我一直在阅读严格的别名规则 并遇到了这篇文章 了解 C C 严格别名 http dbp consulting com tutorials StrictAliasing html 本文介绍了几种交换 32 位整数的一
  • 打开模板文件时自动显示表单,来自资源管理器的 dotm

    我编写了一个基于表单的文档生成宏 用 VBA 编写 以便分发给销售团队 为了便于使用 我想提供一个独立的文件 该文件在打开文档后将立即显示该表单 使用 AutoOpen 如果 word 已经打开并且 dotm 文件已在其中打开 我可以让表单
  • 哪些 Google OAuth2 范围被视为“敏感”的列表在哪里?

    据我了解 Google OAuth2 范围大致分为三个部分 按从最难获准使用到最难的顺序排列 限制范围 灵敏范围 其他一切 我在这里找到了限制范围列表 https support google com cloud answer 911091
  • 如何在 pandas 中创建“排名”列?

    我正在尝试对专栏进行排名 col 1 在熊猫中 如果有平局 我想看另一栏 col 2 只是为了那些记录并打破平局 如果即使在该列中它们也相同 我只想随机分配排名 但每一行必须有唯一的排名 Example col1 col 2 Rank 20
  • 刷新 iFrame(缓存问题)

    我们遇到了一个奇怪的问题 我们不确定到底是什么原因造成的 让我详细说明一下这个问题 假设 我们有两个不同的html页面a html和b html 还有一个用index html编写的小脚本
  • 品牌形象太大且在 Bootstrap 导航栏上未对齐

    我的网站上的导航栏品牌出现一些问题 我希望它看起来垂直对齐并且尺寸较小 您能否建议如何实现这一点 div class navbar navbar default navbar fixed top style background color
  • Windows Powershell - 使用文本文档中的列表重命名文件列表

    我尝试使用以下代码重命名文件文件夹 C www folderx 使用文本列表 list txt 但我不知道如何获取当前文件索引 Get Childitem C www folderx OldName name NewName GC list
  • 使用 iText 从 pdf 文件获取文本字体

    我一直在尝试使用 iText 库提取 pdf 文档中每个单词的属性 字体 字体大小 颜色等 我可以从每个页面中提取文本 但不能提取属性 我也没有找到任何可以提供相同功能的东西 请帮我 我不是 Java 人员 所以我无法为您提供工作代码 但希
  • jsp PageContext 对象的生命周期是怎样的 - 它是线程安全的吗?

    jsp PageContext 对象是作为 http 请求 响应周期的一部分创建和销毁的 还是在请求之间缓存和重用 PageContext 具有建议在请求之间重用的生命周期方法 即初始化 释放 如果重用它们 可能会造成严重的并发问题 如果两
  • 在运行时设置 ImageView 的大小(以 px 为单位)

    我想使用整个可用宽度将 8 个图像拇指放在一条水平线上 这些图像是从网络服务中检索的 它允许我指定尺寸 我尝试了以下方法 int widthPx container getWidth LinearLayout thumbs LinearLa
  • 如何将自定义对象转换为 Data Swift

    我有一个自定义结构 它的类型属性是其他具有不可编码类型的结构 它是结构中结构的复杂树 我需要将其转换为数据以便保存它 我需要保存这个结构 聊天 struct Chat var dictOfRecentMessages String Mess