美文网首页iOS Tips
Swift struct Mutable 的方法

Swift struct Mutable 的方法

作者: Dev_Mob | 来源:发表于2015-11-03 15:13 被阅读383次

    @(Swifter - 100 个 Swift 必备 Tips (第二版) 读书笔记)[swift][ios]

    1、mutating 使用

    struct 一般用于定义一些纯数据类型,如果在方法里需要更改struct中的变量值那么必须加上 mutating 关键字,默认struct 出来的变量是Immutable.

    struct Student{
        var age : Int
        var weight : Int
        var height : Int
        
        mutating func gainWeight(newWeight: Int){
            weight += newWeight;
        }
    }
    

    2、protocol的方法声明为mutating

    swift中struct、enum、�class都可以继承protocol 只有实现了mutating字段的方法才能在struct、enum更改自身变量,class中可以不写mutating字段.

    protocol Vehicle
    {
        var numberOfWheels: Int {get}
        var color: UIColor {get set}
    
        mutating func changeColor()
    }
    
    struct MyCar: Vehicle {
        let numberOfWheels = 4
        var color = UIColor.blueColor()
    
        mutating func changeColor() {
            color = UIColor.redColor()
        }
    }
    
    class Bmw: Vehicle{
    
    //protocol里面所有的属性子类都必须复写;
        let numberOfWheels = 4
        var color = UIColor.redColor()
    
    //可以不需要写mutating
        func changeColor() {
            color = UIColor.blackColor();
        }
    }
    
    

    本文参考:@onevcatSwifter - 100 个 Swift 必备 Tips (第二版)

    相关文章

      网友评论

        本文标题:Swift struct Mutable 的方法

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