OC-Block-块的说明和使用
2014-12-02 13:13
190 查看
- (void)blockClass{
Block_B b1;
b1 = ^(int a,int b){
return a+b;
};
b1(11,21);
Block_B b2;
//返回值为void,参数为void的代码块:
void (^b)() = ^(){
printf("无参block");
};
//block的调用:
b();
//3.如果block中得到的返回值的“类型”(不是返回值)系统可以确定,返回值可以省略。
//声明一个返回值为int,参数为int的block:bb
int (^bb)(int a,int b) = ^(int a,int b){
return a+b;
};
//把函数名换成尖括号,
bb = ^(int a,int b){
printf("a+b = %d",a+b);
return 0;
};
//block的调用:
int sum = bb(1,2);
//2.如果block的参数为void可以这么赋值:
b = ^{
NSLog(@"bloack");
};
void (^print)(int n);
print = ^(int n){
for (int i = 0; i<n;i++) {
printf("n\n");
}
};
print(4);
//1.block在声明的同时可以赋值。
int (^bbb)(int a,int b) = ^(int a,int b){
return a*b;
};
NSLog(@"%d",bbb(11,20));
}
- (void)block{
int a = 9;
int b = 100;
int (^bb)(int a,int b) = ^(int a,int b){
a = b;
return a+b;
};
//在block当中可以访问外面的变量,但是不能更改外面的变量值,是只读的
//如果想修改,需要在变量前面加:__block;
//int __block a;
//int __block b;
bb(a,b);
}
- (void)block3{
//block不是一个对象,加入数组中作为方法的参数,返回值
//放入数组中是一个强引用。
}
Block_B b1;
b1 = ^(int a,int b){
return a+b;
};
b1(11,21);
Block_B b2;
//返回值为void,参数为void的代码块:
void (^b)() = ^(){
printf("无参block");
};
//block的调用:
b();
//3.如果block中得到的返回值的“类型”(不是返回值)系统可以确定,返回值可以省略。
//声明一个返回值为int,参数为int的block:bb
int (^bb)(int a,int b) = ^(int a,int b){
return a+b;
};
//把函数名换成尖括号,
bb = ^(int a,int b){
printf("a+b = %d",a+b);
return 0;
};
//block的调用:
int sum = bb(1,2);
//2.如果block的参数为void可以这么赋值:
b = ^{
NSLog(@"bloack");
};
void (^print)(int n);
print = ^(int n){
for (int i = 0; i<n;i++) {
printf("n\n");
}
};
print(4);
//1.block在声明的同时可以赋值。
int (^bbb)(int a,int b) = ^(int a,int b){
return a*b;
};
NSLog(@"%d",bbb(11,20));
}
- (void)block{
int a = 9;
int b = 100;
int (^bb)(int a,int b) = ^(int a,int b){
a = b;
return a+b;
};
//在block当中可以访问外面的变量,但是不能更改外面的变量值,是只读的
//如果想修改,需要在变量前面加:__block;
//int __block a;
//int __block b;
bb(a,b);
}
- (void)block3{
//block不是一个对象,加入数组中作为方法的参数,返回值
//放入数组中是一个强引用。
}
相关文章推荐
- OC 中关于block使用的简单举例说明
- OC: Block回调的使用demo
- oc中的block使用心得
- 黑马程序员-[OC语言] 第五篇:block使用、协议概述
- 黑马程序员---OC学习笔记之block的使用场景
- OC之block使用场合
- 关于使用了inline-block导致页面布局不受控制的一点说明
- OC-JS交互(WebViewJavascriptBridge使用说明)
- OC 学习第六天_Block的使用
- oc基础入门之block的使用
- OC之Block的使用
- IOS开发---OC语言-㉙内存管理:block的使用
- OC之Block的使用
- OC中Block语法、Block使用以及通过Block实现数组排序
- Object-c Block的使用及说明
- OC中Block的使用
- OC-简单的使用BLOCK
- OC 中的block的使用与它的实现底层
- 黑马程序员-[OC]学习之旅-block和protocol的概念及使用
- OC实战: ARC 下使用 Block 实现链式语法