2016-07-07 7 views
2

Ich habe eine Frage. Wie kann ich eine Eigenschaft einer Eigenschaft in einer Klasse deklarieren? (Nicht sicher, ob das ist, wie es genannt wird, aber das ist die Analogie, die ich denke)Swift Klasse Eigenschaft einer anderen Eigenschaft

Beispiel: dog.legs.count oder lightSwitch.status.turnedOn

Wie kann ich erklären count oder turnedOn als Eigenschaften von legs/status?

Und in der Tat, von welcher Art sie bedenkt, dass ich erklären legs und status dass count und turnedOn Int sind jeweils Bool?

+1

die Frage ist, was ist 'legs' und' status'? sie sollten Eigentum der Typklasse oder einer Struktur sein – Wain

+0

Ich verstehe nicht wirklich, was Sie meinen. Könntest du mir bitte erklären oder zeigen, wie die Klasse 'Hund' aussehen soll, um auf' dog.legs.count' zugreifen zu können? – Lawrence413

Antwort

3

Es ist ganz Ihnen überlassen:

Erstellen Sie einfach eine Klasse Legs oder Status und eine Eigenschaft count bzw. hinzuzufügen. turnedOn dazu. Weisen Sie der besitzenden Klasse eine Instanz dieser Klassen zu.

Natürlich bedeutet das Zugreifen auf Legs und Status in der besitzenden Klasse.

3

Es ist kein gutes Beispiel für sinnvolle Zusammensetzung, aber:

class Legs { 
    var count = 0 
} 

class Dog { 
    var legs = Legs() 
} 

var dog = Dog() 
dog.legs.count = 4