原文:關於iOS Block當中為什么要用weakSelf和strongSelf的思考

場景:當你在某個界面請求網絡數據的時候,用戶不願意等待點擊了返回按鈕,此時在Block當中用如下的方式使用weakSelf的話,有可能會奔潰 因為在並發編程的情況下,雖然在if判斷的時候weakself不為空,但是不保證if語句里面的weakself不為空 ,所以為了安全起見要加上strongSelf 參考 。 那為什么加上strongSelf就可以保證self不為空了 因為如果self有效,那 ...

2018-05-11 15:15 0 1471 推薦指數:

查看詳情

block里的self、weakSelfstrongSelf

ARC下,關於block里面使用self、weakSelfstrongSelf,理解一直沒有特別的透徹,今天花時間研究了一下,總結如下: 其實一共就涉及到兩個問題: 1.是否循環引用了 2.block里面的代碼,不一定執行到哪行時,VC可能就釋放 ...

Fri May 27 02:46:00 CST 2016 1 2159
ObjC的Block中使用weakSelf/strongSelf @weakify/@strongify

首先要說說什么時候使用weakSelfstrongSelf。 下面引用一篇博客《到底什么時候才需要在ObjC的Block中使用weakSelf/strongSelf》的內容: Objective C 的 Block 是一個很實用的語法,特別是與GCD結合使用,可以很方便地實現並發、異步任務 ...

Fri Feb 19 00:06:00 CST 2016 2 8105
weakSelfstrongSelf的區別和用處

block會copy要在block中使用的實變量,而copy會是變量的retainCount + 1,如若在不注意很容易造成循環引用。而所謂的循環引用的本質就是,兩個對象相互引用,從而造成對象不能正常的dealloc。所以解決的辦法就是讓引用的一方是weak的,這樣就使得相互引用的閉環被打破,能夠 ...

Thu Jan 04 23:45:00 CST 2018 0 1262
IOS 看懂此文,你的block再也不需要WeakSelf弱引用了!

前言: 最近都在折騰 Sagit 架框的內存釋放的問題,所以對這一塊有些心得。 對於新手,學到的文章都在教你用:typeof(self) __weak weakSelf = self。 對於老手,可能早習慣了到處了WeakSelf了。 這次,就來學學,如何不用WeakSelf ...

Tue Jan 09 23:49:00 CST 2018 4 4988
什么時候在block中不需要使用weakSelf

什么時候在block中不需要使用weakself 問題 我們知道,在使用block時為了避免循環引用,通常需要使用weakselfstrongself,例如: 那么什么時候在block里調用self,不需要使用weak self呢? 答:在block本身不被self持有,而被別的對象 ...

Fri Dec 02 17:53:00 CST 2016 0 1448
iOS開發--_weak typeof(self) weakSelf = self

_weak typeof(self) weakSelf = self; (一)內存管理原則 1、默認strong,可選weak。strong下不管成員變量還是property,每次使用指針指向一個對象,等於自動調用retain(), 並對舊對象調用release(),所以設為nil等於 ...

Thu Apr 14 00:30:00 CST 2016 0 3423
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM