iOS之深入解析Block的使用和外部变量捕获
生活随笔
收集整理的這篇文章主要介紹了
iOS之深入解析Block的使用和外部变量捕获
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、前言
- 閉包 = 一個函數「或指向函數的指針」+ 該函數執行的外部的上下文變量「也就是自由變量」; Block是Objective-C對于閉包的實現。
- 其中,Block:
- 可以嵌套定義,定義Block方法和定義函數方法相似;
- Block 可以定義在方法內部或外部;
- 只有調用Block時候,才會執行其{}體內的代碼;
- 本質是對象,使代碼高聚合。
- 使用 clang 將 OC 代碼轉換為 C++ 文件查看block的方法:
- 在命令行輸入代碼 clang -rewrite-objc 需要編譯的OC文件.m;
- 這時查看當前的文件夾里多了一個相同的名稱的 .cpp 文件,在命令行輸入 open main.cpp 查看文件。
二、Block 的定義與使用
① 無參數無返回值
// 無參數,無返回值,聲明和定義void( ^MyBlockOne)(void總結
以上是生活随笔為你收集整理的iOS之深入解析Block的使用和外部变量捕获的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS之LLVM编译流程和Clang插件
- 下一篇: iOS之深入解析Block的底层原理