1.用typedef声明一个block
①无参数无返回值
typedef void(^Block)(void); @property (nonatomic, copy) Block completeBlock ;
②带参数
typedef void(^HKCompleteBlock)(BOOL completed);
2.用@property声明Block
①无参数无返回值
@property (nonatomic, copy) void (^touchBlock)(void);
②带参数
@property (copy, nonatomic) void (^selectBlock)(NSInteger index);
原文:https://www.cnblogs.com/StevenHuSir/p/block.html