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,否则会导致循环引用。

你可能感兴趣的:(iOS block的使用)