IOS(UI)_Block代码块
2016-03-01 17:38
501 查看
Block
什么是Block?Blcok是ios4.0+和Mac OS X 10.6 引进队C语言的扩展,用来实现匿名函数的特征
block是C级别的匿名函数块,和C语言的函数指针很像,在ios4.0之后开始支持block在IOS开发中什么情况时有block?
在ios开发中什么情况时有block?
1.代码的封装
2.并发任务的执行
3.回调
block 块语法:
声明:
返回类型(^代码块名)(参数列表)
调用:
代码块名=^(参数列表){};
有参数有返回值:
block块的声明
int (^Sum)(int n1,int n2,int n3);
block块的实现
Sum = ^(int n1,int n2,int n3){ int max = n1; if (n1 < n2) { max = n2; } if (n2 < n3) { max = n3; } return max; };
调用:
int result = Sum(1,2,3);
无法返回值:
block声明:void (^jack)(NSString *string);
block的实现:
jack = ^(NSString *string){ NSLog(@"%@",string); };
调用:
jack(@"Rick");
无返回值和参数列表:
block声明:void(^myBlockOne)();
block的实现:
myBlockOne=^() { num++; NSLog(@"num=%d",num); } 或 void(^myBlockOne)()=^() { num++; NSLog(@"num=%d",num); }
调用:
myBlockOne();
相关文章推荐
- POJ 1679 The Unique MST(次小生成树)
- Guice 学习(六)使用Provider注入服务( Provider Inject Service)
- require.js学习笔记1
- 详解 RN 中的 require()
- UGUI源码学习之初涉Image(一)
- UVa——540Team Queue(STL练习map、queue数组的综合使用)
- LA 2678(p48)----Subsequence
- android 自定义属性的使用一、在res/values文件下定义一个attrs.xml文件,代码如下
- IOS上关于状态栏的相关设置(UIStatusBar)
- java LinkedBlockingQueue源码简析
- SystemUI->截屏
- 手机客户端UI测试常见的测试点
- UITableView使用注意事项(unable to dequeue a cell with identifier)
- UIViewAnimationCurve 知识点
- androidStuido快捷键
- 1242 Rescue BFS
- easyUI 增删查改1
- UITableViewCell相关
- SPOJ 16549 QTREE6 - Query on a tree VI
- hadoop错误-YarnException: Unauthorized request to start container