我在 Swift 中有一个自定义类,我想使用下标来访问它的属性,这可能吗?
我想要的是这样的:
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"
更新:我正在寻找这个的原因是我使用GRMustache从 HTML 模板呈现。我希望能够将我的模型对象传递给 GRMustache 渲染器……</p>
GRMustache 使用键控下标 objectForKeyedSubscript: 方法和 Key-Value Coding valueForKey: 方法获取值。任何兼容的对象都可以为模板提供值。
https://github.com/groue/GRMustache/blob/master/Guides/view_model.md#viewmodel-objects