宣告和建立Block

X.3.1 宣告Block的参考(Reference)

Block 变数储存的是一个block的参考,我们使用类似宣告指标的方式来宣告,不同的是这时block变数指到的地方是一个函数,而指标使用的是「*」,block则是使用「^」来宣告,下面是一些合法的block宣告:

1:/* 回传void ,参数也是void 的block*/

2:void(^blockReturningVoidWithVoidArgument)(void);

3:/* 回传整数,两个参数分别是整数和字元型态的block*/

4:int(^blockReturningIntWithIntAndCharArguments)(int,char);

5:/* 回传void ,含有10 个block 的阵列,每个block 都有一个型态为整数的参数*/

6:void(^arrayOfTenBlocksReturningVoidWinIntArgument[ 10 ])(int);

7:X.3.2 建立一个Block

8:

9:我们使用「^」来开始一个block,并在最后使用「;」来表示结束,下面的范例示范了一个block变数,然后再定义一个block把它指定给block变数:

10:

11:int(^oneFrom)(int);/* 宣告block 变数*/

12:/* 定义block 的内容并指定给上面宣告的变数*/

13:oneFrom = ^(intanInt)

14:{

15:returnanInt = - 1 ;

16:};

X.3.3 全域的Block

我在可以在档案中宣告一个全域的block,请参考以下范例:

1:intGlobalInt = 0 ;

2:int(^getGlobalInt)(void) = ^ (void) {returnGlobalInt ;};

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Block是iOS在4.0之后新增的程式语法,严格来说block的概念并不算是基础程式设计的范围,对初学者来说也不...
    Bager阅读 1,025评论 0 0
  • Block是iOS在4.0之后新增的语法,在iOS SDK 4.0之后,block几乎出现在所有新版的API之中,...
    阿窝额咦呜芋阅读 606评论 0 0
  • **Block **是iOS在4.0之后新增的语法,在iOS SDK 4.0之后,block几乎出现在所有新版的A...
    ios_geek阅读 823评论 0 0
  • X.4.1 变数的型态 我们可以在block中遇到平常在函数中会遇到的变数类型: l 全域(global)变数或是...
    无所不知的程序员阅读 753评论 0 0
  • 前言 Blocks是C语言的扩充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了这...
    小人不才阅读 3,899评论 0 23

友情链接更多精彩内容