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
原创粉丝点击