美文网首页
Swift 计算属性和存储属性

Swift 计算属性和存储属性

作者: kimedison | 来源:发表于2019-07-23 16:12 被阅读0次
    • 计算属性,仅用于存储值

    • 存储属性,用于计算,可以理解为该属性的值通过 getter 获取,通过 setter 赋值,其中 getter 是必须的,setter 是可选的

    作用范围:计算属性可以用于 类、结构体、枚举中,存储属性仅可以用于 类、结构体 中,换言之:存储属性不能被用于枚举中

    声明:计算属性仅可以用 var 关键字声明,存储属性可以用 letvar 声明

    举例:

    • 存储属性:
    class cls {
        
        var a = 1
        var b = {
            return "hi"
        }()
    }
    

    a 是直接赋值的计算属性
    b 是通过调用闭包获取返回值赋值的

    • 计算属性
    class cls2 {
        
        let m = 10
        
        var c_store = 0;
        
        var a: Int {
            return self.m + 1
        }
        
        var b: Int {
            
            get {
                return self.m + 2
            }
            
        }
        
        var c: Int {
            
            get {
                
                return self.c_store + 1
            }
            
            set(num) {
                self.c_store += num
            }
        }
    }
    

    其中 a, b, c 都是计算属性

    a 和 b 都是只有一个 getter, 其中 a 省略了 get{}
    c 则是包括 gettersetter

    相关文章

      网友评论

          本文标题:Swift 计算属性和存储属性

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