swift - 在 swift 中覆盖 get-only 属性

标签 swift

我在父类中声明了一个属性:

var textLabel: UILabel! { get }

是否可以让它在子类中可写?

最佳答案

是的,可以让它在子类中可写。但是,由于它是一个计算属性,您很可能必须添加另一个存储属性来保存您正在分配的新值。下面我用字符串来说明:

class Parent {
    var text: String {
        get {
            return "Parent"
        }
    }
}

class Child: Parent {
    var _text: String = "Child"
    override var text: String {
        get {
            return _text
        }
        set {
            self._text = newValue
        }
    }
}

let child = Child()
child.text = "New String"

关于swift - 在 swift 中覆盖 get-only 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31997240/

相关文章:

ios - UiLabel 识别 TableViewCell Swift 中的 URL

swift - Swift Closure 的奇怪行为

swift - 在 for-in 循环中使用尾随闭包

ios - UITabBarController 在选项卡索引 1 处显示 VC

ios - Swift App - 从 AnyObject 到 NSArray 的转换似乎失败

swift - 检测 iMessage 扩展中的用户交互

ios - 是否可以强制 iOS 设备以编程方式从所述应用程序打开/切换到我的应用程序?

swift - 在 iOS 10 的堆栈 View 中隐藏 View

ios - Swift 和 Objective-C 是否共享相同的原生 API?

ios - 如何在 Swift 的其他类上为 HTTP 请求创建函数?