美文网首页
[swift 进阶]读书笔记-第五章:结构体和类 C5P7_8

[swift 进阶]读书笔记-第五章:结构体和类 C5P7_8

作者: liaoworkinn | 来源:发表于2019-01-05 18:11 被阅读10次

    结构体和类

    5.7 闭包和内存(结构体和类的使用实践)


    本节总结:主要是用了结构体纯函数来表示一个银行账户的资金情况。

    最后的结论:
    :线程不安全。
    结构体:稳定,也不啰嗦
    函数:线程安全,但程序会变得啰嗦

    5.8 闭包和内存(引用循环和捕获列表)


    知识点:闭包会引起循环引用(该知识点同OC的block的循环引用,不赘述。)

    weak 引用


    这里就讲了一些循环引用的基本知识点,我相信大家OC过来的同学都明明白白的。大意是可以用[weak self]的捕获列表解决这个问题。

    名词: 捕获列表

    咋一看让人很费解,那什么是捕获列表
    闭包里面对周围的常量或变量进行的操作叫捕获
    我们可以通过捕获列表去显示的控制在闭包中的捕获值
    闭包中的in前面的小框框[] 就是捕获列表,里面的值就是捕获列表的值。

    var a = 0
    var b = 0
    /// a 就在捕获列表中,b没有
    let closure = { [a] in
        print(a, b)
    }
    
    a = 10
    b = 10
    closure()
    // Prints "0 10"
    

    注:捕获列表中的值的作用域只能在闭包内,闭包外无法使用。

    文章源文件地址

    相关文章

      网友评论

          本文标题:[swift 进阶]读书笔记-第五章:结构体和类 C5P7_8

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