Ich bin eine Funktion erstellen, die eine Instanz eines Klassenobjekts nehmen und es in eine XML-Anfrage konvertieren, um an einen Webdienst gesendet werden. Um dies zu erreichen, verwende ich die Spiegelung, um die Schlüssel/Wert-Paare in der Klasse zu durchlaufen. In meinen Tests sehe ich, dass es gut funktioniert, mit einem Hauptproblem, keiner der vererbten Klassenparameter kommt zustande. Im folgenden Beispiel wird die Schleife dreimal für "descriptionText, modelNumber und serialNumber ausgeführt, Name und UUID werden nie erfasst. Gibt es eine Möglichkeit für mich, Spiegelung zu verwenden und alle Parameter der Basisklasse abzurufen, wie ? auch das Widget auch, wenn es ein besserer Weg, dies zu tun, bin ich ganz OhrSpiegeln nicht Basisklasse auf Swift 3
import UIKit
class BaseObject: NSObject {
var name = String()
var uuid = String()
}
class Widget: BaseObject {
var descriptionText = String()
var modelNumber = String()
var serialNumber = String()
}
var widget1 = Widget()
widget1.name = "Generic Widget"
widget1.uuid = "A guid"
widget1.descriptionText = "Class A Extra Larget Widget"
widget1.modelNumber = "1234"
widget1.serialNumber = "4321"
let widgetMirror = Mirror(reflecting: widget1)
for attr in widgetMirror.children {
print(attr.label!)
}
Vielen Dank! Ich werde deine Antwort in 3 Minuten annehmen, du bist offensichtlich zu schnell für den Computer! – GED125
@ GED125 haha :-) –