码迷,mamicode.com
首页 > 其他好文 > 详细

block学习笔记

时间:2016-01-18 06:51:19      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

??????????Block基本使用
技术分享
     block最基本的使用方式,创建 — 调用.
     这里的block类型:void(^)()  —> 无返回值 无参数
 
技术分享
     三种创建block的方式,最常用的是方式三.
      inlineBlock:快速生成block代码.
    block作用:保存一段代码,并不是马上执行,需要手动调用
 
??Block使用场景(简单阐述)
技术分享
     定义cellItem模型,声明一个block属性
 
技术分享
     实现快速生成模型类方法
 
技术分享
     在目标控制器取出模型并初始化数据
 
技术分享
     当点击cell时,执行block中的代码
 
????????Block传值
     代理,block都可以用来传值.
     
技术分享
     在viewController控制器中,点击屏幕时会触发该方法,此时使用的是block方法来包装代码传值,
     不过,此时的block中并没有值,执行下一句,modal出控制器modalVc
 
技术分享
     在modal控制器中,点击事件触发,将block传给代理控制器,实现传值(逆传)
 
 
????Block内存管理[面试]
    1??. 内存管理[MRC]
技术分享
     2??. 内存管理[ARC]技术分享
 
????Block循环引用
     1??.简单演示
技术分享
     运行结果:打印为null,因为是弱引用,控制器会被销毁.
 
      2??.复杂演示
技术分享
 
 
??Block变量传递
        如果block访问外部局部变量没有被任何关键字修饰,都是值传递
    block访问外部变量被__block,static修饰,指针传递
       访问的全局变量,也是指针传递
 
??Block开发使用场景
    Block开发使用场景(参数使用):
         什么时候使用Block充当参数?
                思想:封装一个功能,这个功能做什么事情由外界决定,
                       但是什么时候调用由内部决定,这时候就需要把Block充当参数去使用.
 
         怎么去把block充当参数?实战
                      比如:封装一个计算器,怎么计算由外界决定,什么时候计算由内部决定
 
??编程思想:
       链式编程思想:把方法调用通过点语法链接,可读性非常好
    // 实战:能看懂
    // 实战:封装一个计算器,提供一个加法方法
 
技术分享
     返回一个block

block学习笔记

标签:

原文地址:http://www.cnblogs.com/coyoko/p/5138178.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!