Ich habe folgende Struktur:Kann verwenden mutiert Mitglied nicht auf unveränderlichen Wert vom Typ
public protocol SuperModel {
// empty protocol
}
struct ModelOne: SuperModel {
struct SubModelOne {
var someVar: Double
var othervar: Double?
}
var sub: SubModelOne?
mutating func setSub(sub: SubModelOne) {
self.sub = sub
}
}
In meiner Klasse, mag ich, dass diese Struktur verwenden:
final class SomeClass: SuperClass {
var data: SuperModel
init() {
self.data = ModelOne()
}
func someFunc() {
(self.data as! ModelOne).setSub(ModelOne.SubModelOne(someVar: 2, otherVar: 1))
}
}
ich folgende Fehlermeldung erhalten: Cannot use mutating member on immutable value of type 'ModelOne'
. Warum ist das so und wie kann ich das beheben?
Was ist NetworkCheckModel? Ein eigenständiges Beispiel wäre nützlich. –
versuchen Sie dies var data = self.data as! ModelOne data.setSub (ModelOne.SubModelOne (someVar: 2, anderevar: 1)) – Sahil
@MartinR Sorry, ich war in Eile und vergaß es zu ändern. Bearbeiten wurde gemacht – j0h4nn3s