block笔记 block与函数的区别

 block与函数:

相同点:都封装一段代码

不同点:block是一种数据类型,可以声明block类型的变量,函数只是函数

              block可以作为函数参数  、函数返回值,函数不能                     

 

 

block笔记 block与函数的区别

block笔记 block与函数的区别

block笔记 block与函数的区别

    block笔记 block与函数的区别

block笔记 block与函数的区别

 

 

 

 

block笔记 block与函数的区别

 

block笔记 block与函数的区别

myblock1();

block在内存中存储:

block笔记 block与函数的区别

block笔记 block与函数的区别

 

 

block笔记 block与函数的区别

block笔记 block与函数的区别

 

block类型当参数

block笔记 block与函数的区别

block笔记 block与函数的区别

第一种的内存情况

block作为参数传给函数a

block笔记 block与函数的区别

第二种b

block笔记 block与函数的区别

第三种Xcode提示 c

block笔记 block与函数的区别

block笔记 block与函数的区别

block笔记 block与函数的区别

block笔记 block与函数的区别

 

例子

一个国家数组 ,需要排序方法,国家排序依据是国家领土面积?人口数?名字长度?首字母排序?经济实力?

调用者用block,传一个代码段,给排序方法