美文网首页
iOS学习笔记-inout关键字

iOS学习笔记-inout关键字

作者: Mr_Ten | 来源:发表于2019-07-26 11:40 被阅读0次
    1.概述

    inout关键字表示将值类型的对象用引用的方式传递

    2.细解
    2.1 值类型:对象传递方式是按值传递
    let a:Int = 1;
    var b:Int = a;
    b += 1;
    print(a,b);//1,2
    
    2.2 引用类型(类对象):对象传递方式是按址传递
    let person1 = Person.init();
    person1.name = "name1";
    let person2 = person1;
    persong2.name = "name2";
    print(p1.name,p2.name);//name2,name2
    
    2.3 使用inout关键字:inout必须用在参数中

    使用inout关键字可以使得值类型的对象和引用类型的对象一样,以按址传递的方式进行操作。

    //主方法中
    var a:Int = 1;
    testMethod(a: &a);//注意这里使用取址操作
    print(a);//2
    
    //测试inout方法
    func testMethod(a:inout Int) {
            print(a);//1
            a += 1;
            //如果没有inout修饰的话,这句代码将会报错,主要意思是不能改变一个let修饰的常量
            print(a);//2
        }
    
    3.使用

    Int、Float、Bool、Character、struct、Array等值类型的对象都可以使用inout修饰,达到使用引用方式传递的目的。

    相关文章

      网友评论

          本文标题:iOS学习笔记-inout关键字

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