第06天OC语言(14):Block应用场景

  • 不要等到明天,明天太遥远,今天就行动。
须读:看完该文章你能做什么?

1.在开发什么时候使用block

学习前:你必须会什么?(在这里我已经默认你具备C语言的基础了)

1.block的使用


一、本章笔记
  当发现代码的前面和后面都是一样的时候,这个时候 就可以使用block
  C语言可以传递函数 ,OC传递block
 
 例子
     找到需要读取的文件
     读取文件 (代码一样)
     操作文件 (block)
     关闭文件 (代码一样)

二、code
main.m
#pragma mark 14-Block应用场景
#pragma mark - 代码
#import <Foundation/Foundation.h>
#pragma mark 类


// 当发现代码的前面和后面都是一样的时候,这个时候 就可以使用block
void goToWork(void (^workBlock)())
{
    NSLog(@"起床");
    NSLog(@"穿衣服");
    NSLog(@"洗漱");
    NSLog(@"喝早茶");
    NSLog(@"驾车去上班");
    
    // 不一样
    workBlock();
    
    NSLog(@"收拾东西");
    NSLog(@"驾车回家");
    NSLog(@"吃晚饭");
    NSLog(@"洗澡");
    NSLog(@"睡觉");
}

void goToWorkInDay1()
{
    goToWork(^{
        NSLog(@"认识新同事");
    });
}

void goToWorkInDay2()
{
    goToWork(^{
        NSLog(@"熟悉公司代码");
    });
}

void goToWorkInDay3()
{
    goToWork(^{
        NSLog(@"开始编写代码");
    });
}

void goToWorkInDay4()
{
    goToWork(^{
        NSLog(@"程序上架");
    });
}

/*
 例子
 找到需要读取的文件
 读取文件 (代码一样)
 操作文件 (block)
 关闭文件 (代码一样)
 */

#pragma mark - main函数
int main(int argc, const char * argv[])
{
    goToWorkInDay2();
    
    return 0;
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,269评论 19 139
  • 不要等到明天,明天太遥远,今天就行动。 须读:看完该文章你能做什么? 1.了解block的底层原理2.什么是___...
    liyuhong阅读 178评论 0 0
  • 不要等到明天,明天太遥远,今天就行动。 须读:看完该文章你能做什么? 1.怎么使用一个typedef定义一个blo...
    liyuhong阅读 439评论 0 1
  • 前言 Blocks是C语言的扩充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了这...
    小人不才阅读 3,794评论 0 23
  • 不要等到明天,明天太遥远,今天就行动。 须读:看完该文章你能做什么? 1.怎么声明一个block,2.怎么实现一个...
    liyuhong阅读 203评论 0 0