Greifen Sie über die Indexierung in Swift auf Eigenschaften zu
Ich habe eine benutzerdefinierte Klasse in Swift und möchte mithilfe von Subskription auf deren Eigenschaften zugreifen. Ist dies möglich?
Was ich will, ist ungefähr so:
class User {
var name: String
var title: String
subscript(key: String) -> String {
// Something here
return // Return the property that matches the key…
}
init(name: String, title: String) {
self.name = name
self.title = title
}
}
myUser = User(name: "Bob", title: "Superboss")
myUser["name"] // "Bob"
Aktualisieren: Der Grund, warum ich das suche, ist, dass ich benutzeGRMustache aus HTML-Vorlagen zu rendern. Ich möchte mein Modellobjekt einfach an den GRMustache-Renderer übergeben können ...
GRMustache ruft Werte mit der Methode keyed subscripting objectForKeyedSubscript: und der Methode key-value coding valueForKey: ab. Jedes kompatible Objekt kann Vorlagen mit Werten versorgen.
https://github.com/groue/GRMustache/blob/master/Guides/view_model.md#viewmodel-objects