Ich arbeite an einem Projekt in Swift, das mehrere Swift-Dateien mit jeweils einer Klasse enthält. Mein Ziel ist es, einige Klassen zu haben, die Eigenschaften von den anderen erben. Aus irgendeinem Grund kann ich nicht auf die Variablen einer Klasse aus einer anderen Klasse zugreifen. Zum Beispiel, hier ist eine Datei:Variable mit schnellen Klassen erben
class Enemy {
var ready = false
var someVal = 0
func someFunctions() {
}
}
In einer anderen Datei, habe ich versucht, eine Klasse zu erstellen, die von „Feind“ erbt
class badGuy: Enemy {
ready = true // This doesn't work as I would expect it to
func badGuyFunction() {
}
}
Wenn ich versuche, die Variablen für den Zugriff auf someVal
oder ready
Von beiden Klassen bekomme ich einen Fehler.
class randomClass {
func test() {
print(Enemy.ready) //This doesn't work
print (badGuy.ready) // This doesn't work
}
}
Was mache ich hier falsch? Ich habe versucht, init()
Funktionen in jeder der Klassen zu verwenden, aber das funktioniert nicht. Nur um zu verdeutlichen, möchte ich eine Basisklasse haben, dann eine Unterklasse haben, deren "Typ" die Basisklasse ist, und dann in der Unterklasse Werte für jede der Variablen definieren, die die Basisklasse unterstützt. badGuy
sollte automatisch in der Lage sein, eigene someVal
zu setzen. Danke im Voraus.
Danke. Ich habe den Fehler beim Kompilieren gefunden. – Jake3231
Was meinst du mit "funktioniert nicht"? Bitte geben Sie eine * tatsächliche * Problembeschreibung an. Wenn Sie Compilerfehler erhalten, zeigen Sie bitte diese Fehler an. – Hamish
Okay. Wenn ich in 'randomClass' gehe und' enemy' gebe, wird 'ready' nicht als Autocomplete angeboten. Wenn ich es erzwinge, sagt der Compiler: "Instance member ready kann nicht für den Typ badGuy verwendet werden" – Jake3231