【发布时间】:2019-04-08 00:16:06
【问题描述】:
我有一个协议,以及一些符合它的结构,基本上如下所示的格式。我面临一个问题,如果我将不同的结构附加到[Protocol] 类型的数组中,结构的值会以一种奇怪的方式发生变化。但是,如果我将数组的类型更改为[Struct1] 或[Struct2],并且只附加适当的类型,则没有问题。
protocol Protocol {
var id: String { get set }
var name: String { get set }
}
struct Struct1: Protocol {
var id: String = "1"
var name: String = "Struct1"
var uniqueProperty1: String = "uniqueProperty1"
}
struct Struct2: Protocol {
var id: String = "2"
var name: String = "Struct2"
var uniqueProperty2: String = "uniqueProperty2"
}
var structs: [Protocol] = []
let struct1 = Struct1()
let struct2 = Struct2()
structs.append(struct1)
structs.append(struct2)
我应该补充一点,上面的代码按预期工作。这是我的项目,它有一个协议和一些结构,但是行为很奇怪。什么可能导致此问题?
【问题讨论】:
-
如果发布的代码有效,那么将很难提供帮助。您需要发布实际演示该问题的代码。至少edit你的问题是澄清价值观的变化方式。
-
感谢您愿意提供帮助,我发现了问题并发布了答案。
-
您仍然需要在问题中发布代表并实际描述问题的详细信息。
-
我应该删除问题吗?我不知道如何编辑它,因为事实证明这是 Xcode 的
Variables View的问题。