首页 > 其他 > 详细

黑马程序员--OC基础--Block用法

时间:2015-11-10 17:38:35      阅读:309      评论:0      收藏:0      [点我收藏+]

         ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

/*

Block封装了一段代码,可以在任何时候执行

Block的标志: ^

block跟函数很像:

1.可以保存代码

2.有返回值

3.有形参

*/

 

 1 int main()
 2 {
 3 //定义block变量,没有返回值,没有形参
 4 
 5 //block没有形参时可省略后面的()
 6 void (^myblock)() = ^(){
 7       NSLog(@“—————”);
 8       NSLog(@“—————”);    };
 9 
10 int (^sumblock)(int, int) = ^(int a, int b){
11     return a + b;   };
12  int c = sumblock(10,11);
13 NSLog(@“%d”, c);
14 
15 
16 //利用typedef定义block类型
17 //typedef int (^MyBlock)(int, int )
18 
19 //可以用MyBlock定义block变量
20 ///MyBlock sumBlock;
21 //sumBlock = ^(int a, int b) {
22 //   return a + b;
23 //    };
24 //int c = sumBlock(10,11);
25 
26 
27 //用Block输出n条横线
28 
29 void (^lineBlock)(int) = ^(int n) {
30   for (int i = 0; i<n; i++){
31        NSLog(@“——————”);
32    }
33 };
34 
35 lineBlock(5);
36 
37 
38 int x = 10;
39 __block int y = 20;
40 
41 void (^block)();
42 block = ^{
43 //block内部可以访问外部的变量
44 //NSLog(@“x=%d”, x);
45 //默认情况下,block内部不能修改外面的局部变量  x = 20;
46 //给局部变量加上__block关键字,这个局部变量就可以在block内不修改
47 
48 y = 25;
49 
50 };
51 
52 block();
53 
54 return 0;
55 }

 

黑马程序员--OC基础--Block用法

原文:http://www.cnblogs.com/xbl-hm/p/4953558.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!