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

Swift中存储属性和计算属性

作者: xxxxxxxxx_ios | 来源:发表于2018-03-16 11:09 被阅读13次

    1.存储属性: 直接进行值的存储和设置

    struct FixedLengthRange {
        var firstValue: Int
        let length: Int
    }
    var rangeOfThreeItems = FixedLengthRange(firstValue: 0, length: 3)
    // the range represents integer values 0, 1, and 2
    rangeOfThreeItems.firstValue = 6
    // the range now represents integer values 6, 7, and 8
    
    

    2.计算属性: 通过提供一个读取器和一个可选的设置器来间接的得到和设置其他的属性和值

    struct Point {
        var x = 0.0, y = 0.0
    }
    struct Size {
        var width = 0.0, height = 0.0
    }
    struct Rect {
        var origin = Point()
        var size = Size()
        var center: Point {
            get {
                let centerX = origin.x + (size.width / 2)
                let centerY = origin.y + (size.height / 2)
                return Point(x: centerX, y: centerY)
            }
            set(newCenter) {
                origin.x = newCenter.x - (size.width / 2)
                origin.y = newCenter.y - (size.height / 2)
            }
        }
    }
    var square = Rect(origin: Point(x: 0.0, y: 0.0),
        size: Size(width: 10.0, height: 10.0))
    let initialSquareCenter = square.center
    square.center = Point(x: 15.0, y: 15.0)
    print("square.origin is now at (\(square.origin.x), \(square.origin.y))")
    // prints "square.origin is now at (10.0, 10.0)"
    

    相关文章

      网友评论

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

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