iOS Block截獲變量

什么是Block

block是將函數(shù)及其執(zhí)行上下文封裝起來(lái)的對(duì)象

關(guān)于Block截獲變量

int multiplier = 6;
int(^Block)(int) = ^int(int num ){
return num * multiplier ;
};
multiplier = 4;
NSLog("result is%d" ,Block(2) ) ;

來(lái)看這道經(jīng)典的block面試題,它的結(jié)果是12還是8?(答案為12)

static int multiplier = 6;
int(^Block)(int) = ^int(int num ){
return num * multiplier ;
};
multiplier = 4;
NSLog("result is%d" ,Block(2) ) ;

而這個(gè)答案為8。這是因?yàn)椋?/p>

  • 對(duì)于基本數(shù)據(jù)類型的局部變量截獲其值
  • 對(duì)于對(duì)象類型的局部變量連同所有權(quán)修飾符一起截獲
  • 指針形式截獲靜態(tài)變量
  • 不截獲全局變量和靜態(tài)全局變量
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、概述 閉包 = 一個(gè)函數(shù)「或指向函數(shù)的指針」+ 該函數(shù)執(zhí)行的外部的上下文變量「也就是自由變量」;Block 是...
    DeerRun閱讀 739評(píng)論 0 0
  • 1、block簡(jiǎn)介 block字面意思就是代碼塊 iOS4.0 Apple引入的特性 block是Objectiv...
    呆子四二閱讀 1,673評(píng)論 1 6
  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時(shí)...
    歐辰_OSR閱讀 30,187評(píng)論 8 265
  • 今天的觀察報(bào)告討論課上,討論的是一篇兩歲的孩子和父母互動(dòng)的過(guò)程。孩子在和父母的相處中,多次崩潰大哭。母親一直不為所...
    壹家心理閱讀 360評(píng)論 1 0
  • 吳家有女初長(zhǎng)成 孫策,孫權(quán)的妹妹孫芊蔚,字尚香,隨著父親到江東。 孫堅(jiān)拜訪當(dāng)?shù)亻T閥周,張,魯,陸。初有周家庶子周瑜...
    rixty閱讀 311評(píng)論 0 0

友情鏈接更多精彩內(nèi)容