通过Swift中的下标访问属性

Matias Korhonen

我在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渲染器…

GRMustache使用带键的下标objectForKeyedSubscript:方法和键值编码的valueForKey:方法来获取值。任何符合条件的对象都可以为模板提供值。

https://github.com/groue/GRMustache/blob/master/Guides/view_model.md#viewmodel-objects

格温达尔·鲁埃

(此处为GRMustache作者)

在面向Swift的Mustache库发布之前,我建议您从NSObject继承类(以便它们具有valueForKey:方法)。然后,GRMustache将使用此方法获取值。

如果仍然无法使用(渲染中的空白值),则可以尝试禁用GRMustache安全功能(请参阅https://github.com/groue/GRMustache/blob/master/Guides/security.md#disabling-safe -key-access

如果您遇到任何其他麻烦,请直接在存储库中打开一个问题:https : //github.com/groue/GRMustache/issues

编辑2015年2月2日:GRMustache.swift已发布:http ://github.com/groue/GRMustache.swift

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Swift中通过下标访问Singleton属性

来自分类Dev

Swift Dictionary 通过下标访问值抛出错误

来自分类Dev

通过Laravel 5.0中的关系访问属性

来自分类Dev

通过Swift访问MacOS中的键盘设置

来自分类Dev

Swift:在结构字典中访问属性

来自分类Dev

从Swift中的扩展访问结构的存储属性

来自分类Dev

Swift中实例属性的只读访问

来自分类Dev

访问数组中对象的属性 - Swift 3.0

来自分类Dev

在下标中访问snakemake变量

来自分类Dev

在Swift中无法下标AnyObject类型的值

来自分类Dev

Swift中的下标和函数之间的区别

来自分类Dev

Swift中数组下标的计算setter

来自分类Dev

Swift数组下标索引编制中的错误?

来自分类Dev

通过属性访问子类中的值,而不是通过索引访问List <>

来自分类Dev

在ember的计算属性中通过foreach访问有很多

来自分类Dev

通过索引器访问C#中的属性

来自分类Dev

如何通过Javascript中的变量访问对象属性

来自分类Dev

无法通过ReactJS中的道具访问对象属性

来自分类Dev

通过父类中的函数访问子类属性

来自分类Dev

has_many通过表单中的访问联接表属性

来自分类Dev

通过 angular 2 中的多个组件访问服务的属性?

来自分类Dev

如何在 Symfony 4 中通过 GET 请求访问属性?

来自分类Dev

如何在Swift中通过标签访问UIButton

来自分类Dev

在Swift中通过标签访问UITableViewCell内部的不同视图

来自分类Dev

从Swift中的超类访问子类属性

来自分类Dev

如何在Swift中访问UIAlertAction title属性?

来自分类Dev

从Swift中的超类访问子类属性

来自分类Dev

无法在Swift中访问自定义tableviewcell按钮属性

来自分类Dev

通过obj键访问属性

Related 相关文章

热门标签

归档