typeof(self) bself = self的作用
來(lái)源:程序員人生 發(fā)布時(shí)間:2014-09-06 10:06:31 閱讀次數(shù):3141次
block語(yǔ)句對(duì)于其變量都會(huì)形成strong reference,對(duì)于self也會(huì)形成strong reference ,而如果self本身對(duì)block也是 strong reference 的話,就會(huì)形成 strong reference 循環(huán),造成內(nèi)存泄露,為了防止這種情況發(fā)生,在block外部應(yīng)該創(chuàng)建一個(gè)weak(__block) reference。
所以在block內(nèi)如果有self的話,一般都會(huì)在block外面加一句_block typeof(self)bself = self;
__block typeof(self) bself = self;
[self methodThatTakesABlock:^ {
[bself doSomething];
}
self是如此,對(duì)于其他變量亦是如此。別忘了在block中使用變量前對(duì)其進(jìn)行弱引用。
生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)