【问题标题】:Why does Swift not allow stored properties in extensions?为什么 Swift 不允许在扩展中存储属性?
【发布时间】:2015-09-30 18:40:54
【问题描述】:

我一直试图找到在扩展中实现存储属性的最佳方法,并遇到了这个问题:Swift extension stored properties alternative。但是,我在讨论或其他任何地方都没有找到原因。 Swift中不允许存储属性是否有原因?如果是这样,原因是什么?

【问题讨论】:

    标签: swift swift2 swift-extensions


    【解决方案1】:

    扩展用于扩展现有类的功能而不改变内存结构。它或多或少是语法糖。想象一下,您可以添加存储的属性和方法,它会是什么?除了继承,别无他法。因此,如果您想添加新的属性和方法,只需从该类继承即可。

    【讨论】:

    • 在 Swift 使用中不赞成继承,不是吗?
    • 一点也不。只是继承在许多语言中经常被过度使用。完整的 Swift 标准库不需要单一的继承模型,它是完全面向协议和基于价值的。 (只有结构,没有类)但有时继承更适合给定的用例,这取决于很多事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-15
    • 2016-09-24
    • 2019-06-03
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 2010-11-01
    相关资源
    最近更新 更多