美文网首页
swift的值类型

swift的值类型

作者: 维子Vanessa | 来源:发表于2016-04-05 11:24 被阅读24次

    1.在 Swift 中,所有的基本类型:整数(Integer)、浮点数(floating-point)、布尔值(Booleans)、字符串(string)、数组(array)和字典(dictionaries),都是值类型,并且都是以结构体的形式在后台所实现。
    2.在 Swift 中,所有的结构体和枚举都是值类型。这意味着它们的实例,以及实例中所包含的任何值类型属性,在代码中传递的时候都会被复制。
    3.一般情况下,值类型的实例方法中不可以修改属性,若是确有需求,可以选择变异方法

    struct Point {
        var x = 0.0, y = 0.0
        //区分属性和参数
        func isToTheRightOfX(x: Double) -> Bool {
            return self.x > x
        }
        //改变结构属性值(mutating)
        mutating func addXY(n1: Double, n2: Double) {
            x += n1
            y += n2
        }
        //或者
        //self = Point(x: x + n1, y: y + n2)
    }
    
    import UIKit
    
    class ViewController: UIViewController {
    
        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view, typically from a nib.
            
            var point = Point(x: 1.0, y: 3.0)
            
            if point.isToTheRightOfX(0.5) {
                view.backgroundColor = UIColor.redColor()
            }
            print("改变前:\(point)")
            point.addXY(2.0, n2: 3.0)
            print("改变后:\(point)")
        }
    }
    

    相关文章

      网友评论

          本文标题:swift的值类型

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