ios - Swift 3.0 中能重写继承于父类的值类型类型属性吗?能添加属性观察器吗?
迷茫
迷茫 2017-04-18 09:52:18
[iOS讨论组]

如下代码:

class Father {
    static var someProperty = 2
    class var secondProperty: Int {
        return 3
    }
}

class Son : Father {
    override static var someProperty: Int {    // error
        set {
            _ = newValue + 2
        }
        get {
            return super.someProperty
        }
    }    
    override class var secondProperty: Int {    // error
        willSet {
            // code...
        }
        didSet {
            // code...
        }
    } 
}

上述代码有误,不过官方文档中注明了以下内容:

“You can override an inherited instance or type property to provide your own custom getter and setter for that property, or to add property observers to enable the overriding property to observe when the underlying property value changes.”
摘录来自: Apple Inc. “The Swift Programming Language (Swift 3)”。 iBooks.

比如想要给父类的某个类型属性添加属性观察器,监听值的变化,该如何实现?或者说,如何操作才能在子类中重写父类的类型属性以及给类型属性添加属性观察器?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(1)
大家讲道理

给父类属性添加观察器很简单,就 override 需要观察的父类属性,然后就可以添加 willSet 或者 didSet
但是重写父类的类属性似乎是不可以的,待我再尝试下,之后再补充。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号