先出2個考題:

1、

上面打印的是幾,captureNum2 出去作用域后是否被銷毀?為什么?

 

同樣類型的題目:

 

問:打印的數(shù)字為多少?

有人會回答:mutArray是captureObject方法的局部變量,mutArray指針 保存到棧上,那么當(dāng)執(zhí)行完captureObject方法后,出去了作用域mutArray變量就會被系統(tǒng)自動釋放。

所以當(dāng)執(zhí)行captureBlk([[NSObject alloc] init]); 的時候,mutArray為nil,每次打印的為0。

 

當(dāng)然上面說的是錯的。

打印出來的值分別是 1,2,3。

那么如果把上面代碼中的mutArray改為weak類型:

NSMutableArray __weak *mutArray = [[NSMutableArray alloc] init];

結(jié)果又會是什么呢。

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式