•Block的定义
 
•Block、委托、通知、回调函数,它们虽然名字不一样,但是原理都一样,都是“回调机制”的思想的具体实现
•前面的代理模式的项目改为Block回调实现
  
Block回调案例 1
 
•typedef long(^LookforApartme)(Person *person);
•@property(nonatomic)LookforApartme lookforApartme;
•long price=_lookforApartme(self);
•Person *person=[[Person alloc] init];
•   
•[person lookforApartmeBlock:^long(Person *person) {
•        long price = random()%10 * 1000;       
•        NSLog(@"正在努力的找房子,找到一个价格为%ld的房子",price);
•        return price;
• }];
Block回调案例2
•typedef void (^WashBlock)(Children *children);
•typedef void (^PlayBlock)(Children *children);
•@property(nonatomic)WashBlock washBlock;
•@property(nonatomic)PlayBlock playBlock;
• self.washBlock(self);
• self.playBlock(self);
 
KVO,代理,Block回调的区别
 
•KVO:可以是一对一或者一对多
•代理:只能是一对一
•Block回调块:代码以闭包得形式将各种内容进行传递
 
 

Block回调的更多相关文章

  1. iOS 键盘添加完成按钮,delegate和block回调

    这个是一个比较初级一点的文章,新人可以看看.当然实现这个需求的时候自己也有一点收获,记下来吧. 前两天产品要求在工程的所有数字键盘弹出时,上面带一个小帽子,上面安装一个“完成”按钮,这个完成按钮也没有 ...

  2. Objective-C中的Block回调模式

    在前面的博客中提到了Block的概念和使用方法,个人感觉Block最爽的用法莫过于在回调时用block.感觉比委托回调和目标方法回调用着要顺手,好不好用还得读者亲自用一下才知道.如果 读者之前用过SS ...

  3. UIAlertController——之Block回调

    iOS8.0之后出现的提示框 =.=,比自己去改block回调要好.

  4. 第十篇、自定义UIBarButtonItem和UIButton block回调

    // 自定义导航栏左边按钮 self.navigationItem.leftBarButtonItem = [JQBlockedBarButtonItem blockedBarButtonItemWi ...

  5. iOS很重要的 block回调

    刚刚进入ios开发行业,发现开发中要用到大量的block回调,由此可见它的重要性.学习它之前我也是网上找的资料,推荐这篇文章http://blog.csdn.net/mobanchengshuang/ ...

  6. 代码块(Block)回调一般阐述

    本章教程主要对代码块回调模式进行讲解,已经分析其他回调的各种优缺点和适合的使用场景. 代码块机制 Block变量类型 Block代码封装及调用 Block变量对普通变量作用域的影响 Block回调接口 ...

  7. 63.delegate回调 和block回调

    效果:viewController里面放置一个按钮和Lab,点击按钮进入oneViewController(delegate回调)或者BlockViewController(block回调),两者控制 ...

  8. iOS开发-Block回调

    关于Block之前有一篇文章已经写过一篇文章Object-C-代码块Block回顾,不过写的比较浅显,不能体现出Block在实际开发中的重要性,关于Block的基础知识,可以参考之前的博客.在实际开发 ...

  9. NSTimer_Block封装定时器的target-action成Block回调

    前言 定时器NSTimer虽然简单易用,但是目标响应机制(target-action)这种方式很容易在代码中出现代码臃肿的情况,特别是在一个文件中有大量的代码,多个定时器的时候不方便调试,因此将NST ...

随机推荐

  1. 学习总结——Selenium元素定位

    读一本好书,不能读读就算了,做一下总结,变成自己的,以备查阅. 1.         driver.findElement(By.id(<element ID>)) ID是独一无二的,使用 ...

  2. JS-改变页面的颜色之变化核心-获取六位的随机数

    前言:从JS-改变页面的颜色(一).JS-改变页面的颜色(二).JS-改变页面的颜色(三)三个简单的小白例,我们可以轻而易举的看到起变化的核心是——十六进制颜色值的获取方式,所以,我们这里总结一下获取 ...

  3. 百度echart使用心得,百度图表。

    百度echart算是百度针对数据展示做的一个图表插件吧,一般我们使用都不是问题,主要还是对于对动态数据的解析.我这里使用饼状图,和柱状图为例: 首先,我们需要定义一个绘图的容器:(class是我自己定 ...

  4. 基础篇-spring包的下载

    首先去到String官网 往下拉一点会看到如下图所示点击进入下一步 进入以后找到如下图所示的 然后按照下图所示操作 选择你想要的版本点击它 选择spring的完整包下载如图

  5. go语言环境搭建+sublime text3(windows环境下)

    感觉有点坑,整了一下午~搞定 go语言环境搭建+sublime text3(windows环境下) 1.安装sublime text3 2.安装go语言程序包 3.测试go语言是否安装成功     键 ...

  6. TFS 2010 迁移/重装/还原 步骤

    1.签入所有代码 2.停止TFS服务:运行命令行,并将路径切换到TFS安装路径:C:\Program Files\Microsoft Team Foundation Server 2010\Tools ...

  7. SpirentTestcenter测试仪的自动化

    SpirentTestcenter,美国思博伦公司的网络测试仪表,覆盖以太网L2~L7层,使用过的仪表中功能最强大的. 1.SpirentTestcenter的自动化测试场景 测试PC上的AT框架-- ...

  8. egret.Tween、egret.Ease

    循环调用.只能设置boolean,不能设置循环次数. egret.Tween.).call(()=>{ console.log("循环调用"); }) 每次改变时,调用onC ...

  9. SpringMVC无法获取请求中的参数的问题的调查与解决(2)

    由于Request的getInputSteam()一旦获取一次后,就再也无法获取了 在实际项目中导致下面的问题: 1,多个拦截器,Filter都需要从InputStream中拿数据的情况无法处理: 2 ...

  10. listview侧滑菜单swipemenulistview的简单使用

    先看代码: public class MainActivity extends AppCompatActivity { private SwipeMenuListView list; private ...