五、block

注:本文集為自己準(zhǔn)備面試時(shí)逛拱,系統(tǒng)復(fù)習(xí)的筆記敌厘,如大家有興趣台猴,歡迎閱讀并指正
1.block有傳值和傳地址朽合,局部變量是傳值,如果加了__block修飾的局部變量變?yōu)閭鞯刂?/p>

  • block沒(méi)有訪問(wèn)外部變量饱狂,即為全局區(qū)
    1.MRC下訪問(wèn)了外部變量為棧區(qū)曹步,使用copy進(jìn)入堆區(qū)
    2.ARC下訪問(wèn)了外部變量為堆區(qū)
  • __weak解決block的循環(huán)引用
  • 如果block內(nèi)部調(diào)用了延時(shí)函數(shù),需要在block內(nèi)部強(qiáng)引用下

1.什么是block休讳?

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

2.截獲變量

局部變量

  • 基本數(shù)據(jù)類型。值傳遞
  • 對(duì)象類型俊柔。對(duì)于對(duì)象類型的局部變量連同所有權(quán)修飾符一起截獲筹麸。值傳遞

靜態(tài)局部變量。指針截獲
全局變量雏婶。不截獲
靜態(tài)全局變量酵紫。不截獲

3.__block修飾符
  • 一般情況下橄唬,對(duì)截獲變量進(jìn)行賦值操作需要添加__block修飾符。
  • 靜態(tài)局部變量缸血、全局變量、靜態(tài)全局變量不需要__block修飾符。
  • __block修飾的變量變成了對(duì)象赤赊。棧上的__forwarding指向自己。棧block經(jīng)copy到堆block瘦陈,棧上的__forwarding 指向堆block的__block變量;堆上的__forwarding指向的是自己__block變量
  • __forwarding的總結(jié)
    不論在任何內(nèi)存位置,都可以通過(guò)__forwarding順利的訪問(wèn)同一個(gè)__block變量

4.Block的內(nèi)存管理

  • 全局Block
    copy趁窃,什么也不做

  • 堆區(qū)block
    copy,增加引用計(jì)數(shù)

  • 棧區(qū)Block
    copy检碗,堆區(qū)copy

  • 棧上Block的銷(xiāo)毀

5.block的引用循環(huán)

__weak進(jìn)行解決。截獲局部變量對(duì)象怕犁,會(huì)連同修飾符一起截獲。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子领突,更是在濱河造成了極大的恐慌,老刑警劉巖金砍,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件离咐,死亡現(xiàn)場(chǎng)離奇詭異县貌,居然都是意外死亡梧宫,警方通過(guò)查閱死者的電腦和手機(jī)脓豪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)笤闯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)牺弹,“玉大人捐韩,你說(shuō)我怎么就攤上這事屎债≡驳ぃ” “怎么了辫封?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵欣福,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng)牧抵,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任蠢正,我火速辦了婚禮,結(jié)果婚禮上省店,老公的妹妹穿的比我還像新娘嚣崭。我一直安慰自己,他們只是感情好说榆,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布签财。 她就那樣靜靜地躺著神汹,像睡著了一般沧卢。 火紅的嫁衣襯著肌膚如雪披诗。 梳的紋絲不亂的頭發(fā)上颅崩,一...
    開(kāi)封第一講書(shū)人閱讀 51,737評(píng)論 1 305
  • 那天睦裳,我揣著相機(jī)與錄音,去河邊找鬼撼唾。 笑死推沸,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的券坞。 我是一名探鬼主播鬓催,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼恨锚!你這毒婦竟也來(lái)了宇驾?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤猴伶,失蹤者是張志新(化名)和其女友劉穎课舍,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體他挎,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡筝尾,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了办桨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片筹淫。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖呢撞,靈堂內(nèi)的尸體忽然破棺而出损姜,到底是詐尸還是另有隱情饰剥,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布摧阅,位于F島的核電站汰蓉,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏棒卷。R本人自食惡果不足惜顾孽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望比规。 院中可真熱鬧若厚,春花似錦、人聲如沸苞俘。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)吃谣。三九已至乞封,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間岗憋,已是汗流浹背肃晚。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留仔戈,地道東北人关串。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像监徘,于是被迫代替她去往敵國(guó)和親晋修。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容