问题标签 [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 投票
3 回答
396 浏览

swift - 我可以在 Swift UI Struct 中拥有的最大状态变量数是多少?性能会随着变量的增加而减慢吗?

我可以在 Swift UI Struct 中拥有的最大状态变量数是多少?

另外,有很多状态变量真的会减慢应用程序的速度吗?我需要弄清楚这件事的可扩展性,因为我是声明式编程的新手:P

0 投票
2 回答
2193 浏览

swift - 如何更新视图中结构的值

在 SwiftUI 中,我有一个想要保存视图数据的结构。假设有一个用户可以在其中创建食谱的视图。它有一个用于键入配方名称的文本字段,以及用于选择和添加到结构属性中的数组的选项。

我设法制作了结构并将其引入视图中,但我无法更改它的值。结构的值应根据用户在视图上所做的操作以及他们添加到其中的信息进行更新。我做了一个简单的视图,在 TextField 中输入的任何内容都将添加到结构的属性之一中。对于下面的代码,我得到无法分配给属性:'self' is immutable

看法:

知道如何解决这个问题,以便我可以与结构交互并更新其属性。我也会在其他视图中使用这个结构变量。

提前致谢

0 投票
2 回答
127 浏览

swift - 初始化嵌入式结构的正确方法是什么?

场景:我在 Struct 中有一个用于保存 JSON 数据的结构。
目标:我希望能够通过 init() 填充子结构以进行一些单元测试工作。

我一直在玩弄这个,但我迷路了: 在此处输入图像描述

我不想使用解码器。
补救?

0 投票
0 回答
193 浏览

json - 使用 Structs 在 Swift 中解码 Json 问题:请指教?

我正在尝试使用 Structs 解码 nfl 播放器的 json 文件,但在检查第一个播放器的 PlayerID 后它一直失败,该播放器从不为空。我不确定我做错了什么,但我真的很感谢你的指导,我想我已经盯着这个看了整整 24 小时。

这是 JSON 文件的示例: 在此处输入图像描述

这是我的结构:

这是我调用来解码 Json 的函数:

这是我在控制台中遇到的错误:

致命错误:“试试!” 表达式意外引发错误:Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "players", intValue: nil), _JSONKey(stringValue : "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: "id", intValue: nil) ("id").", underlyingError: nil)): 文件 CoachesChallenge/UpdatingVC .swift,第 293 行 2020-10-09 18:08:08.412910-0700 CoachesChallenge[32143:2136162] 致命错误:“尝试!” 表达式意外引发错误:Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "id", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "players", intValue: nil),

***非常感谢任何帮助和反馈!!!!先感谢您!!!

0 投票
1 回答
62 浏览

swift - 如何附加可识别的结构列表?

我收到一个错误

无法将“String”类型的值转换为预期的参数类型“Gg”

如何附加到结构 Gg 的任务?我是 swift 新手,所以我会给予任何帮助,谢谢。

0 投票
1 回答
104 浏览

ios - Apple 的 SwiftUI 教程:我被难住了

在过去的几个小时里,我一直在研究 Apple 的 SwiftUI 教程并取得了不错的进展,但现在我很难过。

我正在尝试在 LandmarkRow.swift 中实现“收藏夹”用户输入字段,并继续收到错误消息“'Landmark' 类型的值没有成员'isFavorite'”。“isFavorite”在 Landmark.swift 中列为 Landmark 结构中的一个变量,也包含在引用的 landmarkData.json 文件中。知道我哪里出错了吗?

这是我在 Apple 教程中所指的特定部分的链接:https ://developer.apple.com/tutorials/swiftui/handling-user-input#Mark-the-Users-Favorite-Landmarks

截图:Landmark.swift
截图:LandmarkRow.swift
截图:诊断

0 投票
0 回答
37 浏览

json - 如何将此 json 数据表示为要在我的 http 请求中使用的字符串

我想在 Firebase 云消息传递的 http POST 请求中使用一块 JSON 数据,我将在下面显示它的图像:

JSON

我怎样才能把它转换成可以用 Swift 编码的东西?

我使用quicktype.io来查看是否可以将其转换为 Swift 中的数据结构,这就是我得到的:

快速打字

如何在我的函数中实现这一点?

0 投票
2 回答
59 浏览

swift - 快速计算结构中的非空实例

我试图计算结构中非空字符串的数量以在 tableView 中设置 numberOfRow。""当数据不需要在tableView中显示时,一些数据会返回给我。所以我需要根据""结构中的非来计算numberOfRow。但我不知道该怎么做。

""我需要在下面的 Post 结构中根据非获取行数。

我想从下面的 JSON 数据中得到 3,因为 postDesc 是"". 我怎么数才能得到3。

0 投票
1 回答
520 浏览

ios - 原子属性包装器仅在声明为类而不是结构时才有效

我在 Swift 中创建了一个“锁”,并为我的 Swift 类创建了一个使用该锁的 Atomic 属性包装器,因为 Swift 缺少 ObjC 的atomicproperty 属性。

当我在启用线程清理器的情况下运行测试时,它总是在使用我的 Atomic 属性包装器的属性上捕获数据竞争。

唯一有效的是将属性包装器的声明更改为类而不是结构,这里的主要问题是:为什么它有效!

print在属性包装器中添加了 s 和 lockinit来跟踪创建的对象的数量,它与 struct/class 相同,尝试在另一个项目中重现问题,也没有用。但我会添加与问题相似的文件,并让我知道它为什么起作用的任何猜测。

原子属性包装器

模型(数据竞争应该发生在publicVariable2此处的属性上)

更新 1: 完整的 Xcode 项目:https ://drive.google.com/file/d/1IfAsOdHKOqfuOp-pSlP75FLF32iVraru/view?usp=sharing

0 投票
1 回答
135 浏览

swift - 在 SwiftUI 游乐场中使用多个文件

我正在尝试在 SwiftUI 游乐场中使用多个文件。我在源代码的单独文件中添加了一些代码。我只想在点击按钮时显示工作表视图。即使我已经公开了结构,但我仍然收到错误,因为“SecondView 初始化程序由于内部保护级别而无法访问”

这是代码: