最近在项目中喜欢上了使用block,尤其是在自定义控件的时候,感觉比代理要方便的多;
不多说,先上代码,
1>>typedef void(^YZDeductBlock)(NSString*deductCount);定义一个block类型(此时为void类型),YZDeductBlock为block的类型名称,NSString*deductCount为block监听的参数类型和参数名称。
2>>@property(nonatomic,copy)YZDeductBlock deductBlock;声明一个block属性,一定要用copy修饰;deductBlock为属性block的名称;
3>>-(void)deductTimesWithBlock:(YZDeductBlock)deductBlock;为声明的block方法;
4>>图2中 //-(void)seletedToDeduct{}和-(void)seletedToCancel是自定义alert上面确定、取消按钮执行的方法;此时block通过确定按钮的点击事件,来监听并返回alert上某个值的变化;
5>>图3为block的使用。具体的原理和结构说明,稍后整理。