iOS block的使用

前言:

block是iOS开发中时间及参数传递的一种方法,和代理模式(delegate)相比,block是简单易用的轻量级事件传递方法。

初始化:

手打如下代码,或者从代码块把代码拖拽出来。

 

typedef void(^upLoadImage)(NSString *str);//传参类型及形参

 

@property(nonatomic, strong) upLoadImage block;

 

方法的实现

if (self.block) {//先判断

                self.block(file);

            }



使用方法前要先判断方法是否实现,若方法没有实现直接使用的话,会崩溃。

方法的使用

GXuploadImage *load = [[GXuploadImage alloc] init];

    __weak __typeof(self) weakSelf = self;

    load.block = ^(NSString *str) {

 

    };

在block方法里面若使用self的方法和变量的时候,要使用weakSelf,否则会导致循环引用。

 

 

 

posted @ 2019-02-21 11:59  hello_小磊  阅读(151)  评论(0编辑  收藏  举报