黑马程序员技术交流社区

标题: 应用: block的应用场景 [打印本页]

作者: 一马当先    时间: 2016-3-19 21:48
标题: 应用: block的应用场景
//
//  main.m
//  4-【理解】应用:block的使用场景1
//
//  Created by IOSBasic_7 on 15/10/22.
//  Copyright © 2015年 itheima. All rights reserved.
//

#import <Foundation/Foundation.h>

//形参是block类型的
//void (^workBlock)();
//workBlock作为函数的形参
void work(void (^workBlock)()){
   
    NSLog(@"-----------------\n起床");
    NSLog(@"刷牙");
    NSLog(@"去车站");
    NSLog(@"坐车");
   
    workBlock();
   
    NSLog(@"去车站");
    NSLog(@"坐车回家");
    NSLog(@"吃饭");
    NSLog(@"睡觉");

}

void workDay(int n){

    switch (n) {
        case 1:
            work(^{NSLog(@"了解项目");});
            break;
        case 2:
            work(^{NSLog(@"分析项目");});
            break;
        case 3:
            work(^{NSLog(@"写代码");});
            break;
            
        case 4:
            work(^{NSLog(@"调试项目");});
            break;
        case 5:
            work(^{NSLog(@"走人");});
            break;
            
        default:
            break;
    }



}

typedef void (^myBlockType)();

void (^block1)();
void (^block2)();

myBlockType block3;

int main(int argc, const char * argv[]) {
    @autoreleasepool {
      
//        day1();
//        day2();
//        day3();
//        day4();
//        day5();
        
        for(int i=1;i<=5;i++){
        
            workDay(i);
        
        }
        
        
    }
    return 0;
}
//
//  Person.h
//  OC9-block和协议
//
//  Created by beijing_ios_13 on 16/3/17.
//  Copyright © 2016年 itheima. All rights reserved.
//

#import <Foundation/Foundation.h>



typedef void (^MyInt)();


@interface Person : NSObject



//void (^)()
// myBlock
- (MyInt)test:(MyInt)myBlock;

@end
//
//  Person.m
//  OC9-block和协议
//
//  Created by beijing_ios_13 on 16/3/17.
//  Copyright © 2016年 itheima. All rights reserved.
//

#import "Person.h"

@implementation Person



@end




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2