美文网首页Swift
Swift-mutating关键字使用

Swift-mutating关键字使用

作者: 一个奋斗的coder | 来源:发表于2017-09-01 15:42 被阅读0次

在Swift中,包含三种类型(type): structure,enumeration,class
其中structure和enumeration是值类型(value type),class是引用类型(reference type)
Swift中protocol的功能比OC中强大很多,不仅能再class中实现,同时也适用于struct、enum。但是struct、enum都是值类型,每个值都是有默认的,所以在实例方法中不能改变,因此就要用mutating关键字,这个关键字可以让在此方法中值的改变,会返回到原始结构里边

protocol Vehicle {
    var numberOfWheels: Int {get}
    var color: UIColor {get set}
    mutating func changeColor()
}

struct MyCar: Vehicle {
    let numberOfWheels = 4
    var color = UIColor.blue
    mutating func changeColor() {
        color = .red
    }
}

这段代码中不加mutating关键字,编译器就会报错

相关文章

  • Swift-mutating关键字使用

    在Swift中,包含三种类型(type): structure,enumeration,class其中struct...

  • 关于Swift中的mutating关键字

    欢迎转载,请注明出处:http://zyden.vicp.cc/swift-mutating/谢谢 mutatin...

  • 235 ref和out关键字

    ref关键字 使用ref关键字可以将值类型变量按照引用方式传递 out关键字 使用out关键字可以让方法有多个返回...

  • 组件编写

    super关键字 使用class关键字时无法使用super.method,解决方案

  • 4.常规增删改查操作

    1.添加数据使用关键字insert 2.删除数据使用关键字delete 3.修改数据使用关键字update 4.查...

  • 面向对象

    一、类和对象 二、封装 三、继承 Java中final关键字的使用 final关键字: 使用final关键字做标识...

  • Java学习笔记(十二)final关键字和权限修饰符

    1、概述 final代表最终,使用final关键字后无法更改 2、使用 2.1、类 使用final关键字后,这个类...

  • Java多线程同步

    synchronized关键字 synchronized关键字修饰函数方法使用synchronized关键字时,会...

  • mysql笔记

    DDL1.创建库、创建表使用关键字create2.删除库、删除表使用关键字drop3.修改库、修改表使用关键字al...

  • spring data jpa HQL语句中使用like关键字

    hql中怎样使用like关键字? 在使用spring data jpa实现关键字查询功能的时候,使用了like关键...

网友评论

    本文标题:Swift-mutating关键字使用

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