Acessar propriedades por meio de assinatura no Swift
Eu tenho uma classe personalizada no Swift e gostaria de usar a subscrição para acessar suas propriedades, isso é possível?
O que eu quero é algo como isto:
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"
Atualizar: A razão pela qual estou procurando isso é que estou usandoGRMustache para renderizar a partir de modelos HTML. Eu gostaria de poder passar meu objeto de modelo para o renderizador GRMustache…
O GRMustache busca valores com o método objectForKeyedSubscript: de subscrição com chave e o método valueForKey: de Codificação de Valor-Chave. Qualquer objeto compatível pode fornecer valores para modelos.
https://github.com/groue/GRMustache/blob/master/Guides/view_model.md#viewmodel-objects