问题标签 [identifiable]

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 投票
1 回答
995 浏览

swift - 解码子时嵌套 Codable 结构中父结构的访问属性

在嵌套Codable结构中使用解码器时,有什么方法可以访问父结构的属性?

我能想到的唯一方法(尚未测试)是在父结构中使用手动解码器,在userInfo字典中设置属性,然后userInfo在子结构中访问。但这会导致大量的样板代码。我希望有一个更简单的解决方案。

在上面的示例中,来自服务器的项目 ID 仅在 JSON 中的顶级属性中定义,但我在子项中也需要它们,因此我也可以将它们设置为Identifiable.

0 投票
1 回答
47 浏览

arrays - SwiftUI:我想使用数组中的信息,但找不到正确的命令

我对编程很陌生,我在更复杂的方面遇到了麻烦。我正在尝试使用一个名为 playerCameCards 的数据集,并将其中的 5 个随机添加到 playerCards 中。我已经设法做到了,但我想显示名称:最后添加的元素,但我不知道该怎么做。我将不胜感激以下是我的代码。

下面是我想从添加到我的 playerCards 数组的最后一个元素中显示名称的地方,例如“name1”。我将来可能希望将此图像制作为图像并使用 ID: 来显示相应的图像,但我无法访问数组中的类型

0 投票
1 回答
3106 浏览

swift - Swift 中的可识别协议:类 vs 结构

我正在使用 Swift 5.3

试图理解为什么当我声明这个结构时

它编译时没有任何错误(即使我没有实现“id”字段),而对于 struct

我收到一个错误(如预期的那样) -类型“MyActivity”不符合协议“Identifiable”

此外,如果我复制 Identifiable 源代码并将其重命名为我自己的名字,例如

那么实现 MyIdentifiable 协议的结构和类都将失败,并出现适当的错误类型“MyActivity”不符合协议“MytIdentifiable”

我很困惑。

0 投票
1 回答
672 浏览

list - SwiftUI 从列表中编辑结构

我试图有一个列表,当它点击一个单元格时,它会更改对象本身的hasBeenSeen Bool值。State

我最初的想法是我需要制作hasBeenSeen一个@Statevar 但这似乎不起作用。如何使这个Boolval 可以从列表中编辑?

0 投票
2 回答
1019 浏览

swift - 如何使用两个枚举变量实现 Identifiable

使用 Swift 5.3,如何Identifiable通过使结构的标识依赖于两个枚举变量的组合来在结构上实现协议?

有问题的代码很简单,

上面的结构还不符合Identifiable协议。我怎样才能将它的身份实现为它的唯一组合suitrank(只创建一次)?本质上,它的身份可能是“黑桃 1”或“钻石杰克”。此外,如果可能的话,我想保留rank作为一种Int类型,以便以后进行算术运算。先感谢您!

0 投票
2 回答
71 浏览

ios - 如何向我的可识别数据添加“视图”类型?

我有以下可识别的数据。我想做的是我也想添加一个typeview以便稍后我可以提供一个Button链接到这些视图的链接。我不知道如何做到这一点。它说它不接受视图类型。

我的目标是制作卡片,每张卡片都会保存Datum价值。我想为Button它们中的每一个设置一个,将用户带到该特定视图。因为我做了一个ForEach,我希望能够添加每个Datum的视图。我做了以下但swift不接受它并抛出错误。

这是代码:

这是图像:

我定义: 结构定义

错误: 错误

0 投票
3 回答
2324 浏览

struct - SwiftUI - 具有可识别协议的自定义标识符

我想知道是否可以用自定义标识符覆盖标准标识符。

我有一个简单的结构:

var id: ObjectIdentifier但是,如果结构内没有行,可识别协议将无法工作。同时,我不想使用“id”名称。userId 在我的模型中也是唯一的(它是一个 UUID)。有没有办法告诉可识别协议接受“userId”而不是“id”?

谢谢!

0 投票
1 回答
224 浏览

foreach - ForEach 不适用于 Identifiable & id = UUID()

当我在正常情况下使用 - "ForEach(student.subjects, id:.id) { subject in" 时,它应该作为 id = UUID 工作,并且不正确的输出如下:

在此处输入图像描述

然后由于课程符合 Identifiable 我试过 - “ForEach(student.subjects) { subject in” 它仍然无法正常工作。但是,当我这样做时 - “ForEach(student.subjects, id:.self) { subject in” 除非我必须让该类符合 hashable 并给我正确的预期输出。显示的正确输出:

在此处输入图像描述

0 投票
0 回答
61 浏览

json - 快速错误消息。“没有更多上下文,表达的类型是模棱两可的。”

我不断收到此错误消息,不明白为什么。它正在实例化的对象(结构)是可识别的结构。

模型

0 投票
2 回答
255 浏览

swiftui - LazyHStack 中嵌套的 ForEach 崩溃

我在 a 中有两个嵌套ForEach的 sLazyHStack

此片段编译,但它立即崩溃并出现以下错误

致命错误:每个布局项只能出现一次:文件 SwiftUI,第 0 行

我在网上读到,这可能是由于ForEach没有正确区分集合的元素,即使所有元素都是可识别的。在我的例子中,items外部ForEach的都是可识别的,而内部ForEach的则循环遍历一组可选URL?对象。我试图URL使用它的绝对字符串(我认为应该是唯一的)来识别它,但它没有用。

我应该补充一点,相同的代码片段适用于标准的HStack. 我怎么解决这个问题?