第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閱讀 134,933評論 18 139
  • 不要等到明天,明天太遙遠,今天就行動。 須讀:看完該文章你能做什么? 1.了解block的底層原理2.什么是___...
    liyuhong閱讀 164評論 0 0
  • 不要等到明天,明天太遙遠,今天就行動。 須讀:看完該文章你能做什么? 1.怎么使用一個typedef定義一個blo...
    liyuhong閱讀 416評論 0 1
  • 前言 Blocks是C語言的擴充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了這...
    小人不才閱讀 3,785評論 0 23
  • 不要等到明天,明天太遙遠,今天就行動。 須讀:看完該文章你能做什么? 1.怎么聲明一個block,2.怎么實現一個...
    liyuhong閱讀 193評論 0 0