Swift 2 Fehler beim Verwenden der Mutationsfunktion in der Protokollerweiterung "Mutationselement kann nicht für unveränderlichen Wert verwendet werden: 'self' ist unveränderlich
Nicht sicher, was hier los ist, das scheint ziemlich einfach zu sein. Ich habe ein Protokoll, das var, eine Erweiterung mit einer mutierenden Funktion. Die Dinge scheißen im testClass.testFunc, wenn ich versuche und benutze mtkAnimQueAppend in der Endung deklariert, bekomme ich diesen Fehler: "Mutierendes Element kann nicht für unveränderlichen Wert verwendet werden: 'self' ist unveränderlich.
protocol MTKAnimateValueDelegate {
var mtkAnimQue:[MTKAnimateValue]? {get set}
}
extension MTKAnimateValueDelegate {
///Adds element to que
mutating func mtkAnimQueAppend(element:MTKAnimateValue) {
if mtkAnimQue != nil {
mtkAnimQue?.append(element)
} else {
mtkAnimQue = [element]
}
}
}
class testClass: MTKAnimateValueDelegate {
var mtkAnimQue:[MTKAnimateValue]?
func testFunc() {
var animValue = MTKAnimateValue(fromValue: 10, toValue: 20, inSeconds: 2)
animValue.isAnimating = true
mtkAnimQueAppend(animValue) //ERROR: "Cannot use mutating member on immutable value: 'self' is immutable
}
}