iOS中block的定义和使用
2015-12-30 09:57
651 查看
1.block可以用来保存一段代码,或者用来封装一段代码。--->代码段,代码块。
2.block的标志是^
3.block跟函数很像
可以保存代码;
可以有返回 值;
也可以有行参;
调用方式一样;
4.定义一个block
#pragma mark 不带参数的block
void (^outputblock)() = ^{
NSLog(@"------------");
};
outputblock();
}
5.带行参的block
#pragma mark - 带参数的block
int (^sumblock)(int, int) = ^(int a,int b){
return a+b;
};
int sum = sumblock(23,23);
int sum1 = sumblock(1,2);
NSLog(@"%d",sum1);
NSLog(@"%d",sum);
#pragma mark - 输出n条横线
void(^myblock)(int) = ^(int n){
for (int i = 0; i < n; i++) {
NSLog(@"-----------------");
};
};
myblock(10);
6.如果block没有行参,可以省略后边的小括号。
7.使用typedef来定义一个block的类型
typedef int(^Myblock)(int,int);
Myblock sumblock = ^(int a,int b){
return a+b;
}
Myblock minus = ^(int a,int b){
return a-b;
}
8.block可以访问外边的变量,但不可以修改外部的局部变量
2.block的标志是^
3.block跟函数很像
可以保存代码;
可以有返回 值;
也可以有行参;
调用方式一样;
4.定义一个block
#pragma mark 不带参数的block
void (^outputblock)() = ^{
NSLog(@"------------");
};
outputblock();
}
5.带行参的block
#pragma mark - 带参数的block
int (^sumblock)(int, int) = ^(int a,int b){
return a+b;
};
int sum = sumblock(23,23);
int sum1 = sumblock(1,2);
NSLog(@"%d",sum1);
NSLog(@"%d",sum);
#pragma mark - 输出n条横线
void(^myblock)(int) = ^(int n){
for (int i = 0; i < n; i++) {
NSLog(@"-----------------");
};
};
myblock(10);
6.如果block没有行参,可以省略后边的小括号。
7.使用typedef来定义一个block的类型
typedef int(^Myblock)(int,int);
Myblock sumblock = ^(int a,int b){
return a+b;
}
Myblock minus = ^(int a,int b){
return a-b;
}
8.block可以访问外边的变量,但不可以修改外部的局部变量
相关文章推荐
- 查看iOS崩溃日志从 Mac OS X上
- iOS开发笔记8:Remote Notification远程消息推送处理
- iOS block3种传值方法
- Ios 性能分析工具 及其使用侧重点
- iOS开发中实现新闻图片的无限循环展示的方法
- IOS学习笔记之字符串类
- IOS拍照---》保存到相册----》并且获取照片的ALasset传到相册
- IOS学习之蓝牙4.0
- iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总,icloudpassbook
- IOS BLE4.0蓝牙和外设连接和收发数据的流程
- ios蓝牙---(最终我自己测试成功了读和写)
- 【iOS】判断硬件型号
- IOS学习笔记之类目和延展
- iOS多线程笔记
- iOS开发mac常用到的命令
- iOS --- OpenGLES之初步认识
- IOS 发布注意事项
- ios流继承关系
- ios查找分析友盟统计闪退日志,代码错误位置的方法闪退分析CrashAnalyze
- AVAudioPlayer音频播放器—IOS开发