美文网首页
NSNotificationCenter引起的循环引用

NSNotificationCenter引起的循环引用

作者: 151ba12c22e5 | 来源:发表于2016-03-14 13:35 被阅读107次

@weakify(self);

[[NSNotificationCenter defaultCenter] addObserverForName:xxx  object:nil queue:[NSOperationQueuemainQueue]usingBlock:^(NSNotification*_Nonnullnote) {

@strongify(self);

}];

用这个方法添加观察者一定要使用weakSelf来打破循环引用,且不用removeObserver。

相关文章

  • NSNotificationCenter引起的循环引用

    @weakify(self);[[NSNotificationCenter defaultCenter] addO...

  • iOS开发 循环引用的几种场景

    delegate 循环引用如果delegate使用strong修饰容易引起循环引用 block 循环引用block...

  • iOS内存优化

    引起内存泄漏的原因 引起内存泄漏的原因主要有三类,如下 循环引用 强引用 非OC对象 1、循环引用。最简单的循环引...

  • NSTimer引起的循环引用

    NSTimer大多数情况下载viewWillDisappear或者viewDidDisappear中释放就可以。但...

  • swift重温笔记(自动引用计数)

    自动引用计数的工作机制 自动引用计数实践 类实例之间的循环强引用 解决实例之间的循环强引用 闭包引起的循环强引用 ...

  • block N连问

    Block 与 循环引用 1、 在所有的Block中,使用self 都会引起循环引用吗? 答:不一定.循环引用的原...

  • Swift Tour Learn (九) -- Swift 语法

    本章将会介绍 自动引用计数的工作机制自动引用计数实践类实例之间的循环强引用解决实例之间的循环强引用闭包引起的循环强...

  • Swift之循环引用

    Swift中的循环引用是怎么样的呢?我们来看看: 调用: 这样是不会引起循环引用的,为什么呢? 要循环引用还要se...

  • 问题:为什么很多内置类如UITableViewControlle

    如果是retain,引用计数+1,可能会引起循环引用。 所有的引用计数系统,都存在循环引用的问题。例如下面的引用关...

  • iOS 内存泄漏的主要原因

    ARC情况下的对象内存泄露主要由循环引起。 1. block的循环引用 2. delegate的循环引用 3. N...

网友评论

      本文标题:NSNotificationCenter引起的循环引用

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