iOS开发 之闭包(Block)
来源:互联网 发布:php高级工程师简历 编辑:程序博客网 时间:2024/05/22 00:13
一、闭包初解
Block : 闭包 又叫代码块 是一个独立的整体 可以当做参数来传递
Block也算是一个函数
Block能够读取其他函数的内部变量
Block还可以访问、修改内部变量
使用Block的好处 :可以组织独立的代码段 提高代码的复用性可读性
Block重要特点: 常用于一个操作完成后的回调
有返回值的Block公式 返回值类型(^block的名字)(形参列表)= ^(形参列表){ return 返回值类型的一个参数 }; int(^sum)(int a,int b)= ^(int a,int b){ return a+b; }; NSLog(@"%d",sum(1,1)*25);
练习
NSMutableDictionary *dic = [NSMutableDictionary dictionary]; NSDictionary *(^add)()= ^(){ [dic setObject:@"邓小平" forKey:@"name"]; NSDictionary *d = [dic copy]; return d; }; NSLog(@"%@",add()); // 定义一个字符串 是具体说话的内容 调用block 在说话内容的前面添加@“他说:”返回一个拼接号的字符串 NSString *(^by)(NSString *s)= ^(NSString *s){ NSString *r = [NSString stringWithFormat:@"他说:%@",s]; return r; }; NSLog(@"%@",by(@"你真帅"));
三、无返回值的闭包
block 公式 声明和实现 无返回值的Block公式1、 : void (^block的名字)(形参列表)= ^(形参列表){具体实现代码}; 无返回值的Block公式2、 : void (^block的名字)(形参列表); block的名字 = ^(形参列表){具体实现代码};
void (^wahaha)(); wahaha = ^(){ NSLog(@"水"); }; wahaha (); void (^miao)()= ^(){ NSLog(@"喵~"); }; miao ();// block 调用// block 名字(实参); void (^miao1)(); miao1 = ^(){ NSLog(@"喵喵~"); }; miao1 ();
0 0
- iOS开发 之闭包(Block)
- IOS之block与闭包
- iOS 之 (闭包)block传值
- iOS开发之Block
- iOS开发之Block(1)
- iOS开发之Block(2)
- iOS开发之Block(3)
- iOS开发之Block(4)
- Ios开发随笔之block(一)
- iOS开发之block(一)
- iOS开发之block(二)
- iOS闭包block理解
- IOS开发之Block编程
- ios开发之Block语法
- IOS开发之block应用
- IOS开发之Block编程
- IOS开发之Block语法
- IOS开发之Block语法
- Appium+Robotframework Android 自动化测试 AppiumLibrary安装出错问题
- 运动合成——机器学习技术
- Linux tail 命令详解 http://www.2cto.com/os/201111/110143.html
- webstorm使用及快捷键
- FileZilla 中添加 RSA key
- iOS开发 之闭包(Block)
- ArcGIS Engine开发,.NET4.0降为.NET3.5后,出现的”试图加载格式不正确的程序“错误解决方法
- Missing Number —— Leetcode
- c++嵌套类--有疑问
- access()
- MapReduce -- task 的执行
- 汽车气缸
- android opengl es 总结
- httpclient4.3 设置代理请求