Ich benutze Struct in Swift.iterieren über Strukturattribute in Swift
class Constants {
struct const {
static let signupFirstName = "signupFirstName"
}
}
Ich möchte die Struktur iterieren. Für Iterieren Ich verwende:
let mirrored_object = Mirror(reflecting: Constants.const())
for (index, attr) in mirrored_object.children.enumerate() {
if let property_name = attr.label as String! {
print("Attr \(index): \(property_name) = \(attr.value)")
}
}
Aber es in den Code nicht wegen static
Wert eingeben. Gibt es eine Möglichkeit, diese struct
zu iterieren?
Vielen Dank für Ihre Antwort. Angenommen, ich habe mehrere Zahlen von statischen Variablen im Struct wie: static let signupLastName = "signupLastName", statische let signupEmail = "signupEmail" usw. Jetzt anstelle von "return Mirror (self, children: [" signupFirstName ": const.signupFirstName]) ", Möchte ich diese Struktur dynamisch loopen. Wie kann ich? Bitte helfen Sie. – Rupshikha
@ user3897036 Leider gibt es keine Möglichkeit, dynamisch durch irgendetwas zu durchlaufen, um den benutzerdefinierten Spiegel zu erstellen. Der Initialisierer für MirrorType akzeptiert nur ein Dictionary _literal_, was letztendlich bedeutet, dass Sie genau die Werte übergeben müssen, die Sie reflektieren möchten, und es gibt keine Möglichkeit zum Schleifen oder Generieren basierend auf Variablen usw. :(Auch hier wird Swift-Reflektion besser die Straße hinunter, aber im Moment ist es sehr begrenzt und nicht sehr nützlich. Vielleicht möchten Sie einen anderen Ansatz für das, was Sie erreichen wollen ausprobieren. –
Vielen Dank .. Ihre Lösung funktioniert wie Charme .... :) – Rupshikha