# 只读属性

作者: MarkusFeng | 来源:发表于2015-12-17 15:09 被阅读30次

    getter & setter

    • 在 Swift 中 getter & setter 很少用,以下代码仅供了解
    private var _name: String?
    var name: String? {
        get {
            return _name
        }
        set {
            _name = newValue
        }
    }
    

    存储型属性 & 计算型属性

    • 存储型属性 - 需要开辟空间,以存储数据
    • 计算型属性 - 执行函数返回其他内存地址
    var title: String {
        get {
            return "Mr " + (name ?? "")
        }
    }
    
    • 只实现 getter 方法的属性被称为计算型属性,等同于 OC 中的 ReadOnly 属性
    • 计算型属性本身不占用内存空间
    • 不可以给计算型属性设置数值
    • 计算型属性可以使用以下代码简写
    var title: String {
        return "Mr " + (name ?? "")
    }
    

    计算型属性与懒加载的对比

    • 计算型属性
      • 不分配独立的存储空间保存计算结果
      • 每次调用时都会被执行
      • 更像一个函数,不过不能接收参数,同时必须有返回值
    var title2: String {
        return "Mr" + (name ?? "")
    }
    

    相关文章

      网友评论

        本文标题:# 只读属性

        本文链接:https://www.haomeiwen.com/subject/abrphttx.html