ich ein Protokoll haben, die eine Struktur als Eigenschaft hat:Struct innerhalb Protokoll
struct Dimensions {
var width: CGFloat
var height: CGFloat
}
Protocol ShapeType {
var dimensions: Dimensions {get set}
}
Jetzt habe ich eine Klasse, die eine Unterklasse von SKShapeNode
ist:
class Shapes: SKShapeNode, ShapeType {
var dimensions: Dimensions
override init { // Error
super.init()
dimensions = Dimensions(width: 40, height: 40)
}
}
ich diesen Fehler:
Property 'self.dimensions' not initialized at super.init call
Was ist der richtige Weg, um die Struktur innerhalb der Klasse inisialzie?
So viele Probleme in Ihrem Code. Protokoll s/b Protokoll. Brauchen Sie Parens nach Init. Haben Sie tatsächlich Code, der die Fehlermeldung, die Sie angeben, erhalten kann? Sende das bitte. –
Es gibt einen Kommentar im Code, wo der Fehler auftritt. Würdest du mehr darüber klären, welche Art von Problemen ich in meinem Code habe? – Abdou023
@ Abdou023 Er war ziemlich klar. "Protokoll" ist falsch, da es sich nicht um "Protokoll" handelt. In 'Shapes' fehlt' '' 'nach' override init'. Sie untergliedern 'SKShapeNode' auch auf unvollständige Weise, da Sie das' init (coder:) 'implementieren müssen. Bitte schreiben Sie Code, der tatsächlich erstellt wird, oder lernen Sie, wie Sie die anderen Probleme in Ihrem Code beheben können, wenn Sie nicht wissen, warum sie falsch liegen, da wir jetzt einige Probleme in Ihrem Code beheben müssen, die das nicht sind im Zusammenhang mit Ihrer ursprünglichen Frage. –