block的学习心得

来源:互联网 发布:没有c基础可以学java吗 编辑:程序博客网 时间:2024/06/05 14:42
     什么是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
原创粉丝点击