swift的值类型

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)")
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容