美文网首页
[swift 进阶]读书笔记-第六章:函数 C6P3函数作为代

[swift 进阶]读书笔记-第六章:函数 C6P3函数作为代

作者: liaoworkinn | 来源:发表于2019-01-15 13:10 被阅读6次

第六章:函数(function)

6.3 函数作为代理 function as delegate.

foundation框架的代理


知识点1:本小节只有一个知识点 swfit中的代理用weak 来修饰 防止循环引用
        weak var delegate: xxxDelegate?

结构体代理


知识点2:我们可以将代理方法用mutating关键字来修饰,来修改结构体本身的内容

书中举了个例子:将结构体设置成代理。 发现原结构体的内部并不能改变

原因:delegate = structXX 时,实质是把结构体的复制赋值给了delegate。所以结构体内部不能发生改变
总结: 在代理和协议的模式中,并不适合使用结构体。

使用函数,而非代理(其实就是使用闭包,不用代理)

这个小节主要就是讲对于结构体,尽量不要用delegate,用闭包就行。 通过[weak self]的方式避免循环引用

知识点3:要注销一个代理用 = nil就可以。要注销闭包就不行了,闭包实质上是函数,函数无法被比较,只能通过额外的逻辑代码去移除。

文章源文件地址

相关文章

  • [swift 进阶]读书笔记-第六章:函数 C6P3函数作为代

    第六章:函数(function) 6.3 函数作为代理 function as delegate. foundat...

  • 函数式Swift3 - Map,Reduce和Filter

    本文是一个系列,是函数式Swift的读书笔记(其实是为了备忘) 接受其它函数作为参数的函数有时被称为高阶函数。在 ...

  • Swift3之函数(二)

    Swift3之函数(一) 进阶部分 1.函数参数 -- 外部参数名 2.下滑线 -- _ 3.函数参数 -- 设置...

  • Swift3.x 函数的使用

    函数 Swift中的函数相当于OC中的方法 函数的格式如下 : func函数名(参数列表)-> 返回值类型{ 代...

  • python 函数进阶

    函数进阶 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的...

  • python 函数进阶

    函数进阶 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的...

  • Python函数高阶

    函数进阶 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的...

  • 17 函数进阶

    函数进阶 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的...

  • Swift学习笔记(二)

    Swift函数 Swift函数包含参数类型和返回值类型 函数定义 Swift使用关键字func定义函数。 函数定义...

  • [Swift5.1] 1.1-基本数据类型

    Swift开源库 print 函数 不用编写main函数, Swift将全局范围内的首句可执行代码作为程序入口. ...

网友评论

      本文标题:[swift 进阶]读书笔记-第六章:函数 C6P3函数作为代

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