block关键字的使用
1.block 是oc的一個數據類型
2.作用:用了封裝一段代碼,可以在任何時候調用執行。即在編譯的時候忽略block修飾的代碼段,在調用這個代碼時,也就是運行時,
編譯器會自動加載這個代碼,?so這樣的程序,效率非常高
3.語法:
定義一個block類型的變量:有參-》返回值類型 (^變量名) (參數類型1,參數類型2) ?? 。eg. void (^myblock)(int,int)
無參-》返回值類型 (^變量名) ??eg. void (^myblock)
定義一個block代碼段: ? ?有參-》^(參數類型1 參數名稱,參數類型2 參數名稱){// 代碼,也可以有返回值}
無參-》^(){//代碼}或?^{//代碼}
調用一個block代碼段:變量名(參數值...)
4.用typedef 定義一個bolck類型的變量:
定義: typedef ?返回值類型 (^自定義類型名) (參數類型,...)
使用: ? ??自定義類型名 ?變量名=^(參數類型 參數名稱,...)`{//代碼}
這個使用類似指向函數的指針:定義-》返回值 (*指針名) (參數類型,...),賦值-》指針名=函數名稱,調用-》指針名(參數值,...)
5.block代碼段內,可以訪問該代碼段外的變量,但是默認不能修改外部的變量,
? ?使用 __block 關鍵字修飾的變量,在block代碼段內就可以修改了
eg. __block int a=0;
?
轉載于:https://www.cnblogs.com/hui1107464497/p/4509778.html
總結
以上是生活随笔為你收集整理的block关键字的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自己看不见进步
- 下一篇: gslang——原生golang/RPC