• iOS中block的详解weakSelf、strongSelf

    时间:2023-01-23 18:19:46

    1 我们知道,在使用 block 的时候,为了避免产生循环引用,通常需要使用 weakSelf 与 strongSelf,写下面这样的代码: __weak typeof(self) weakSelf = self;[self doSomeBlockJob:^{ __strong typeof(...

  • weakSelf 和 strongSelf的区别和用处

    时间:2023-01-23 18:19:04

    block会copy要在block中使用的实变量,而copy会是变量的retainCount + 1,如若在不注意很容易造成循环引用。而所谓的循环引用的本质就是,两个对象相互引用,从而造成对象不能正常的dealloc。所以解决的办法就是让引用的一方是weak的,这样就使得相互引用的闭环被打破,能够正...

  • 在Block中使用weakSelf与strongSelf的意义

    时间:2023-01-23 18:23:52

    在Block中使用weakSelf与strongSelf的意义 我们都会声明一个弱引用在block中使用, 目的就是防止循环引用,  那么weakSelf与strongSelf一起使用目的是什么呢? 首先先定义2个宏: #define YXWeakSelf(type) __weak typeo...

  • iOS开发小技巧之--WeakSelf宏的进化

    时间:2023-01-23 18:23:40

    我们都知道在防止如block的循环引用时,会使用__weak关键字做如下定义: __weak typeof(self) weakSelf = self; 后来,为了方便,不用每次都要写这样一句固定代码,我们定义了宏: #define WeakSelf __weak typeof(self)...

  • ObjC的Block中使用weakSelf/strongSelf @weakify/@strongify

    时间:2023-01-23 18:23:28

    首先要说说什么时候使用weakSelf和strongSelf。 下面引用一篇博客《到底什么时候才需要在ObjC的Block中使用weakSelf/strongSelf》的内容: Objective C 的 Block 是一个很实用的语法,特别是与GCD结合使用,可以很方便地实现并发、异步任务。但是,...

  • [置顶] 深入研究Block用weakSelf、strongSelf、@weakify、@strongify解决循环引用

    时间:2023-01-23 18:23:04

    前言 在上篇中,仔细分析了一下Block的实现原理以及__block捕获外部变量的原理。然而实际使用Block过程中,还是会遇到一些问题,比如Retain Circle的问题。 目录 1.Retain Circle的由来 2.__weak、__strong的实现原理 3.weakSelf、st...

  • __weak typeof(self) weakSelf = self

    时间:2022-12-13 23:22:21

    typeof(self) 是获取到self的类型,这样定义出的weakSelf就是和self一个类型的, 加上__weak是建立一个若引用,整句就是给self定义了一个若引用性质的替身;这个一般用在使用block时会用到,因为block会copy它内部的变量,可能会造成引用循环,使用__weak性质...

  • 深入研究Block用weakSelf、strongSelf、@weakify、@strongify解决循环引用

    时间:2022-11-17 08:12:34

    本文作者: 伯乐在线 - 一缕殇流化隐半边冰霜 。未经作者许可,禁止转载! 欢迎加入伯乐在线 专栏作者。 前言 在上篇中,仔细分析了一下Block的实现原理以及__block捕获外部变量的原理。然而实际使用Block过程中,...

  • 到底什么时候才需要在ObjC的Block中使用weakSelf/strongSelf

    时间:2022-09-07 10:50:20

    转载,原文: http://blog.lessfun.com/blog/2014/11/22/when-should-use-weakself-and-strongself-in-objc-block/ 当然有一个更详细的专题: http://tanqisen.github.io/blog/2013...

  • 一篇文章让你看懂IOS中的block为何再也不需要WeakSelf弱引用

    时间:2022-09-03 20:47:07

    这篇文章主要给大家介绍了关于IOS中block为何再也不需要WeakSelf弱引用的相关资料,文中通过示例代码介绍的非常详细,对各位iOS开发者们具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

  • iOS开发技巧之WeakSelf宏的进化详解

    时间:2022-08-26 13:16:41

    在程序中我们经常用到Block,但写weak self 时会比较繁琐,下面这篇文章主要给大家介绍了关于iOS开发技巧之WeakSelf宏的进化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋

  • 深入研究Block用weakSelf、strongSelf、@weakify、@strongify解决循环引用(上)

    时间:2022-04-14 18:22:45

    深入研究Block捕获外部变量和__block实现原理 前言   在上篇中,仔细分析了一下Block的实现原理以及__block捕获外部变量的原理。然而实际使用Block过程中,还是会遇到一些问题,比如Retain Circle的问题。   目录   1.Retain Circle的由来 2...

  • OC的Block中使用weakSelf/strongSelf

    时间:2022-04-14 18:22:33

    OC的Block中使用weakSelf/strongSelf 在OC的block中如果使用self的话会引起循环引用,也就是说,在block中直接使用self的话会被强引用,解决方案是使用 weakself( __weak __typeof(&*self)weakSelf = s...

  • block里的self、weakSelf、strongSelf

    时间:2022-04-14 18:19:59

    ARC下,关于block里面使用self、weakSelf、strongSelf,理解一直没有特别的透彻,今天花时间研究了一下,总结如下:   其实一共就涉及到两个问题: 1.是否循环引用了 2.block里面的代码,不一定执行到哪行时,VC可能就释放了,self就为ni...

  • 深入研究Block用weakSelf、strongSelf、@weakify、@strongify解决循环引用(下)

    时间:2022-01-19 08:13:07

    深入研究Block捕获外部变量和__block实现原理   EOCNetworkFetcher.h   typedef void (^EOCNetworkFetcherCompletionHandler)(NSData *data);   @interface EOCNetworkFetch...

  • IOS 看懂此文,你的block再也不需要WeakSelf弱引用了!

    时间:2021-12-28 18:20:36

    前言: 最近都在折腾 Sagit 架框的内存释放的问题,所以对这一块有些心得。 对于新手,学到的文章都在教你用:typeof(self) __weak weakSelf = self。 对于老手,可能早习惯了到处了WeakSelf了。 这次,就来学学,如何不用WeakSelf。 1:从引用计数器开始...

  • 关于iOS Block当中为什么要用weakSelf和strongSelf的思考

    时间:2021-07-07 15:34:38

    场景:当你在某个界面请求网络数据的时候,用户不愿意等待点击了返回按钮,此时在Block当中用如下的方式使用weakSelf的话,有可能会奔溃(因为在并发编程的情况下,虽然在if判断的时候weakself不为空,但是不保证if语句里面的weakself不为空),所以为了安全起见要加上strongSel...