iOS开发之 成员变量 解决block循环引用方案

原创 2017年01月03日 18:00:41

引言:在开发中,如何解决block中的循环引用呢?__weak 去修饰self,那么在block中使用weakSelf去调用属性就可以解决了。

但是,在我们没有设置属性的情况下,设置的成员变量,如何在block中避免循环引用呢?

一、问题截图

这里写图片描述

二、解决方案截图

这里写图片描述

经实测,这里解决方案截图第一个红框的strongSelf修饰的self 必须为 __weak 修饰过以后的self。代码修改为以下方式才有效果后,使用strongSelf->label1.text = @“” 即可。

    __weak typeof(self) weakSelf = self;
    __strong typeof(weakSelf) strongSelf = weakSelf;
版权声明:本文为博主原创文章,未经博主允许不得转载,有问题可联系博主Email: liuyongjiesail@icloud.com

私有成员变量在block如何避免循环引用

最近,接手外包公司的项目,项目中用到大量的block,我们都知道block相对于代理是比较方便的,但是需要注意的就是如何避免循环应用导致的内存泄漏的问题,毫无疑问,外包的项目代码质量果然不太理想,经过...

iOS开发---私有成员变量在block如何避免循环引用

引言:在开发中,如何解决block中的循环引用呢? 在非ARC下,我们用__block去修饰self,ARC环境下__weak 去修饰self,那么在block中使用weakSelf去调用属性就...

IOS中 Block用法进阶二 局部变量和全局变量在Block中的使用

一、局部变量与block块 先看下面代码: int number=100; void (^TestBlock)(int)=^(int x){ number=number+x; }; TestBlock...
  • zm_yh
  • zm_yh
  • 2016年05月21日 11:36
  • 7523

iOS循环引用问题集合

选择Product----->Profile------->工程的模拟器会开始运行,如下图所示:       三,在弹出的对话框中选择Leaks---->Choose.     ...

iOS开发——Block引起循环引用的解决方案

内存问题始终是软件开发中的头等大事,iOS开发中也不例外,在面试中也是必问的问题。今天我们主要来讲讲Block中涉及的循环引用问题。当我们自己一开始写代码的时候,可能会大量在block中使用self,...
  • zry763
  • zry763
  • 2017年04月25日 17:50
  • 75

iOS开发 -- 属性与成员变量

http://www.jianshu.com/p/d5d1243bf7ed 这是我个人的学习笔记 , 如有不同见解欢迎评论交流 . ( GeekBand-极客班 http://geek...

IOS开发中 类、对象、实例变量、成员变量、属性变量等区别和关系

类(class):具有相同属性和行为等同一类元素等总称,类是一个抽象的概念。 区分是类还是对象,看它能否继续被细分。 在OC中,类是表示对象类型的结构体,对象通过类来获取自身的各种信息。类由两个部...

iOS开发 - Objective-C语言 | 局部变量、全局变量和成员变量之间的区别

今天我们一起来看一下局部变量、全部变量和成员变量这几个变量之间有什么区别,我们首先来看一个程序,代码片段如下: #import @interface Person : NSObject ...

ios开发之使用block引发循环引用导致内存泄露

首先来看一个动态图: 由图可知,我们从One跳转到了Two(TwoViewController) 接下来看一段代码: // // JLPerson.h // Bloc...

精通iOS开发--第15章 Grand Central Dispatch和后台处理之Block与Self的循环引用

Block与Self的循环引用 01:众所周知若self中引用了Block块,而此Block块中又引用了Self则会造成循环引用,需要提醒的是即使在你的block代码中没有显式地出现"self"...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS开发之 成员变量 解决block循环引用方案
举报原因:
原因补充:

(最多只允许输入30个字)