Block的简单实用

最近在项目中喜欢上了使用block,尤其是在自定义控件的时候,感觉比代理要方便的多;

不多说,先上代码,


图1 .h文件中的block定义


图2 .m文件中的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的使用。具体的原理和结构说明,稍后整理。

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

推荐阅读更多精彩内容

  • 前言 Blocks是C语言的扩充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了这...
    小人不才阅读 3,790评论 0 23
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,224评论 30 472
  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,733评论 2 7
  • { 11、核心动画 需要签协议,但是系统帮签好 一、CABasicAnimation 1、创建基础动画对象 CAB...
    CYC666阅读 1,596评论 2 4
  • 你是天上一盏不眠的星 温暖了我清冷的眼睛 望着你残白的模样 诱惑我万千的想像 你那神秘的前世今生 让我陷入了天马行...
    一枚冰儿阅读 226评论 2 0