03-Block的使用场景
来源:互联网 发布:2017广联达软件多少钱 编辑:程序博客网 时间:2024/06/08 03:47
//// main.m// 03-Block的使用场景#import <Foundation/Foundation.h>/** 模拟星期一上班的具体情况 */void goToWorkInDay1(){ NSLog(@"起床"); NSLog(@"刷牙"); NSLog(@"穿衣服穿鞋"); NSLog(@"出门"); NSLog(@"搭公交"); NSLog(@"抵达公司"); // 实事 NSLog(@"了解项目的需求"); // 实事 NSLog(@"叮咚叮咚 下班了"); NSLog(@"搭公交"); NSLog(@"回家"); NSLog(@"睡觉");}void goToWorkInDay2(){ NSLog(@"起床"); NSLog(@"刷牙"); NSLog(@"穿衣服穿鞋"); NSLog(@"出门"); NSLog(@"搭公交"); NSLog(@"抵达公司"); // 实事 NSLog(@"熟悉公司以前的代码"); // 实事 NSLog(@"叮咚叮咚 下班了"); NSLog(@"搭公交"); NSLog(@"回家"); NSLog(@"睡觉");}void goToWorkInDay3(){ NSLog(@"起床"); NSLog(@"刷牙"); NSLog(@"穿衣服穿鞋"); NSLog(@"出门"); NSLog(@"搭公交"); NSLog(@"抵达公司"); // 实事 NSLog(@"开始编写代码"); // 实事 NSLog(@"叮咚叮咚 下班了"); NSLog(@"搭公交"); NSLog(@"回家"); NSLog(@"睡觉");}int main(int argc, const char * argv[]){ @autoreleasepool { } return 0;}
上面垃圾代码。可使用block重构
//// main.m// 03-Block的使用场景#import <Foundation/Foundation.h>typedef void (^WorkBlock)();void goToWork(WorkBlock workBlock){ NSLog(@"起床"); NSLog(@"刷牙"); NSLog(@"穿衣服穿鞋"); NSLog(@"出门"); NSLog(@"搭公交"); NSLog(@"抵达公司"); // 实事 // 调用block之前一定要做判断 if (workBlock != nil) { workBlock(); } // 实事 NSLog(@"叮咚叮咚 下班了"); NSLog(@"搭公交"); NSLog(@"回家"); NSLog(@"睡觉");}/** 模拟星期一上班的具体情况 */void goToWorkInDay1(){ goToWork(^{ NSLog(@"了解项目的需求"); });}void goToWorkInDay2(){ // 实事 goToWork(^{ NSLog(@"熟悉公司以前的代码"); }); // 实事}void goToWorkInDay3(){ // 实事 goToWork(^{ NSLog(@"开始编写代码"); }); // 实事}void test(int (^myblock)(int num1, double num2, char num3)){ }int main(int argc, const char * argv[]){ @autoreleasepool {//// goToWorkInDay3();// test(^int(int num1, double num2, char num3) {// // }); // WorkBlock block = ^{// NSLog(@"-------------------");// };// // goToWork(block); } return 0;}
0 0
- 03-Block的使用场景
- block的使用场景
- iOS 中Block的使用场景
- Block的基本使用、typedef给Block定义别名、Block的应用场景、Block的注意事项
- Block的应用场景
- Block的应用场景
- 黑马程序员---OC学习笔记之block的使用场景
- 代理和block各自的优缺点和使用场景
- 104,block的应用场景
- Block从简单到高级的使用,以及项目中经常使用的场景
- Block从简单到高级的使用,以及项目中经常使用的场景
- inline-block的常见应用场景
- Block的使用 iphone
- block的简单使用
- oc block的使用
- block的使用
- Block的使用详解
- Block使用的注意
- 第七章,类和对象
- 第三周项目1、项目2: 顺序表的基本运算、建立“顺序表”算法库
- c#实现简单计算器
- linux常用c函数 进程操作篇 http://blog.chinaunix.net/uid-25906157-id-3136757.html
- 马哥Linux运维笔记---1
- 03-Block的使用场景
- C++11:并发、多线程
- POJ 3013 Big Christmas Tree (spfa)
- Findbugs 缺陷详解与英文代号的对照表
- 中级软件设计师考点大盘点
- 素数定理
- OCP-V13-600
- 面试准备之css3
- 原码,反码,补码