ios block 的三种解决循环引用的方式

#import "OPTextBlock.h"

@interface OPTextBlock()

@property (nonatomic, copy) void (^block)(void) ;

@property(nonatomic,copy)void(^textObjcblock)(OPTextBlock*textObjc) ;

@property (nonatomic, copy) NSString * name;

@end

@implementation OPTextBlock

-(void)textblock

{

    __weak __typeof(self)  weakself =self;

    self.block= ^{

        __strong__typeof(weakself) strongself = weakself;

        strongself.name=@"张三";

    };

    self.block();

}


-(void)textblock1

{

    __blockOPTextBlock*textObjc =self;

    self.block= ^{

        textObjc.name=@"张三";

        textObjc =nil;

    };

    self.block();

}


-(void)textblock2

{

    self.textObjcblock = ^(OPTextBlock *textObjc){

        textObjc.name=@"张三";

    };

    self.textObjcblock(self);

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 设计模式是什么? 你知道哪些设计模式,并简要叙述? 设计模式是一种编码经验,就是用比较成熟的逻辑去处理某一种类型的...
    卑微的戏子阅读 3,762评论 0 1
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,806评论 1 32
  • 1.设计模式是什么? 你知道哪些设计模式,并简要叙述? 设计模式是一种编码经验,就是用比较成熟的逻辑去处理某一种类...
    司马DE晴空阅读 5,127评论 0 7
  • 设计模式是什么? 你知道哪些设计模式,并简要叙述? 设计模式是一种编码经验,就是用比较成熟的逻辑去处理某一种类型的...
    iOS菜鸟大大阅读 4,064评论 0 1
  • 有离十七 @_@ 当呼啸的北风肆虐而过,寒冷顺着衬衫的领口灌进胸膛的时候,我又想起了你。 想你其实是一件很平常的事...
    流浪的小红豆阅读 1,462评论 0 0