美文网首页
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