这是演示此问题的一些演示代码。
protocol Test {}
struct Conforms: Test {}
struct Testing {
var t: [Test]
//The following throws an error
t.append(Conforms())
}
如果数组是在Struct外部创建的,我可以追加。但是,在Struct内部,会发生此错误。
答案 0 :(得分:1)
您的错误是预期声明。
您无法在结构中使用自由浮动代码。它需要在函数内部:
protocol Test {}
struct Conforms: Test {}
struct Testing {
var t: [Test] = []
mutating func foo() {
t.append(Conforms())
}
}
var testing = Testing()
testing.foo()