block的学习心得

     什么是block?初学的时候,很难理解block在使用过程中的真正含义,对block执行的过程不甚了了。首先来看看block的定义。
1.定义:它是一种 C语言数据类型独立的代码块,在需要的时候执行,执行的时候当做函数,并且可以作为参数传递。  这种定义决定在它在IOS开发中占据着举足轻重的作用,主要用于控制器之间的传值给予了很大的方便,相比代理具有很强的优越性。
返回类型  void (^myBlock)( 参数列表) = ^(参数列表){
     NSLog(@“");
}; 
调用  myBlock ();
2.blcok定义的速记符号 inlineblock,能够快速敲出一个block的基本结构
3.常见面试题目  
1——>在定义block时,如果引用了外部变量,会对外部变量做一个copy,记住block时变量的数值如果后续修改变量的值,不影响block内部的数值的变化,默认情况下,不允许修改外部变量的数值。因为会破坏代码的可读性,不易于维护。如果需要在block中需要修改内部的值,需使用__blcok修饰。
4.block反向传值(视图控制器)
   —需要传值 1. 定义一个block属性  2.调用block
    —接受传值  1.保存代码块   
    —1.调用方:准备块代码
    —2.被调用方:执行块代码
          要执行的代码,在.h中定义一个块代码的属性,在需要的时候执行块代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值