问题标签 [swift-structs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
58 浏览

arrays - 将 CSV 文件转换为数组会消耗大量内存

我有一些中等大小的 CSV 文件(大约 140mb),我正试图将它们变成一个结构数组。
我不想在内存中加载孔文件,所以我使用的是蒸汽阅读器。
对于我读取数据的每一行,将行转换为我的结构并将结构附加到数组中。因为总共有超过 5_000_000 行,所以我曾经reserveCapacity获得更好的内存管理。

不幸的是,这根本没有帮助。没有强制差异。调试会话中的内存图上升到 1.54 GB,然后保持在那里。我想知道我做错了什么,因为我无法想象需要 1.54Gb 的 RAM 来存储原始大小为 140mb 的文件中的结构数组。

我使用以下代码创建数组:


我知道 GitHub 上有几个 CSV 阅读器包,但它们非常慢。

这是调试会话的屏幕截图:

在此处输入图像描述

感谢您的任何建议。

0 投票
1 回答
44 浏览

swift - 如何使用嵌套的 json 创建结构?

我有一个来自我的 api 的 JSON 响应,它返回:

我试过了

但是我在拨打电话时收到以下错误

我的 API 调用如下所示:

我猜这个结构看起来不错,但是 api 调用在抱怨——知道它可能是什么吗?还是结构做错了

0 投票
1 回答
66 浏览

swift - 用一个结构解码两个不同的 JSON 响应?

我从两个端点接收到相同的 json 结构,唯一不同的是 json 中的键。在响应#1我得到

在响应#2我得到:

一个结构可以同时解码这两者吗?目前我的结构看起来像这样:

匹配响应#2,但不匹配响应#1。

0 投票
1 回答
60 浏览

swift - 如何解码带有嵌套数组的字典?

我正在从端点获取一些数据,响应如下所示:

结构看起来不错:

但是,如何使用嵌套数组初始化此字典?我尝试了类似的东西

但收到错误消息 Cannot assign value of type 'SearchResults' to type '[String : AnyObject]'

0 投票
1 回答
48 浏览

swift - 更新解码的 JSON 并将其附加到结构中?

我通过我的 API 接收到一些分页的 JSON 响应,看起来像这样:

第 1 页:

当我浏览分页结果时,即调用:http://127.0.0.1:8000/id=5/?page=2 我将在results数组中获得新值。

第2页:

我将如何构建我的结构/修复我的解码,以便我可以在results更新的同时附加来自 JSON的值countnext以及previous当我经历..?page=3..?page=4

目前,我的结构如下所示:

在进行解码时,我不确定将结果附加到结构和update nextpreviouscount. 到目前为止我得到了这个

0 投票
1 回答
97 浏览

swift - 在 Swift 的函数中使用 Struct 作为参数

我有下一个场景

我创建了一个Swift package我正在使用的main application. 在这Swift Package我想使用一些颜色,因为它是一个UI package. 我struct Colors的已经是defined in my main application,我不想在 中再次定义它,package所以我试图将我struct Colorspackage.

struct Colors还有另一个struct General像:

这就是我在我的package

这就是我发送它的方式main application

我的主要问题是:

有没有办法做到这一点?

我想要的只是使用结构的值,我不需要更新它。

0 投票
1 回答
145 浏览

arrays - 【SwiftUI】如何初始化一个空的struct

我在 SwiftUI 中需要一些帮助。

我在下面有一个接受 JSON 数据的模型。当我想将它初始化为一个空数组时,应该很简单,只是说明Answers,但是我怎样才能不将它初始化为一个数组而是一个空的单个数据集。

我试过 var answer: Answers = Answers() 但得到以下错误:

我想将它初始化为空的原因是因为我需要在数据模型为nil时交出它的默认值。(即我应该在 xxx 中写什么?)

这就是我在上面尝试做的:使用 NavigationLink 显示几个单元格。(假设单元格是推文。)按下列表中的推文之一→在以按下的推文ID作为参数的视图模型中调用fetchAnswers func→返回特定的推文详细信息→将其放入答案模型→手它转到视图→导航到推文详细信息视图。

查看模型代码如下:

提前致谢。

0 投票
1 回答
28 浏览

swift - 使用变量访问 swift 结构属性

我是 swift 新手,我正在尝试找出如何通过变量访问结构属性。作为一名 JS 开发人员,我们可以通过变量访问对象键,所以我想知道 swift 是否也能做到这一点?

同样,为了快速,我试图访问结构项字典中的属性。故事已作为结构启动。

提前谢谢你的帮助!!:)

0 投票
1 回答
42 浏览

swift - 在从 JSON 获取的结构上添加 ID 属性

我有一个“食谱”结构,其实例是通过解析JSON文件创建的。映射到 JSON的所有属性Recipe,除了一个:id.

我希望每个 struct 实例都可以通过此属性唯一标识,并且应该在实例化 struct 时生成它,但是,当创建 struct 实例时,它们的所有ids 都是nil.

食谱.swift

RecipeMode.swift(Recipe 结构的实例)

0 投票
2 回答
103 浏览

swift - 如何使用 swift-string 转换 swift-struct 对象名称

我有一个名为Car的结构名称。Car 有两个属性(noOfTyres、ownerName)。

字符串值为let objStr = "Car/ownerName"

如何将 objStr 转换为 swiftObject 之类的Car.ownerName