美文网首页
Rxswift和RxCocoa中何时使用unowned和weak

Rxswift和RxCocoa中何时使用unowned和weak

作者: 92f5323404c8 | 来源:发表于2018-05-31 14:46 被阅读0次

使用RxCocoa有时很难区分什么时候使用weak,什么时候使用unowned。当一个闭包执行时其中的self引用的对象有可能已经被释放掉时,我们会使用weak,所以将self声明为可选类型。当我们知道某个闭包执行时我们确定self引用的对象不会被释放掉,我们使用unowned,否则将会导致崩溃
在RxSwift中,特别是在RxCocoa中,选择关键字需遵从下列原则:

  • noting:在单例或者绝对不会被释放掉的视图控制器中使用(如根控制器)
  • unowned:在确认闭包执行完成之后视图控制器才会被释放时使用
  • weak:其余情况
    参考资料: RxSwift - By Raywenderlich

相关文章

  • Rxswift和RxCocoa中何时使用unowned和weak

    使用RxCocoa有时很难区分什么时候使用weak,什么时候使用unowned。当一个闭包执行时其中的self引用...

  • 2019-10-12[unowned self] 与 [weak

    参考文章:Swift - RxSwift的使用详解42([unowned self] 与 [weak self])...

  • Swift 内存管理,weak 和 unowned

    在内存管理中,weak和unowned都可以防止发生引用循环问题,但是weak和unowned的区别在哪里呢? u...

  • [译]Swift中的weak self和unowned self

    在找关于weak和unowned方面的知识,看到的一篇文章。 原文来自Weak self and unowned ...

  • weak和unowned

    一、循环引用 如图所示的情况中,john指向的对象强引用了unit4A指向的对象,而unit4A指向的对象又强引用...

  • weak和unowned

    unowned: 假设引用对象在生命周期总是存在,这样其属性声明是非可选类型。 weak: 对象在预见时间内可能为...

  • WEAK 和 UNOWNED

    相同 1、weak和unowned都不会增加引用计数器 2、两者都是为了避免循环引用而存在的 区别 1、weak指...

  • 内存管理

    三种引用 weak unowned的使用限制 weak unowned只能用在类实例上面 协议遵守AnyObjec...

  • Swift笔记

    Swift中weak与unowned的区别 在闭包里面为了解决循环引用问题,使用了 [unowned self]。...

  • RxSwift、RxCocoa目录结构分析说明

    RxSwift RxCocoa

网友评论

      本文标题:Rxswift和RxCocoa中何时使用unowned和weak

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