原文:iOS 面試題(二):什么時候在 block 中不需要使用 weakSelf --轉自唐巧

問題 我們知道,在使用 block 的時候,為了避免產生循環引用,通常需要使用 weakSelf 與 strongSelf,寫下面這樣的代碼: 那么請問:什么時候在 block 里面用 self,不需要使用 weak self 答案 當 block 本身不被 self 持有,而被別的對象持有,同時不產生循環引用的時候,就不需要使用 weak self 了。最常見的代碼就是 UIView 的動畫代碼 ...

2016-12-08 08:35 0 4760 推薦指數:

查看詳情

什么時候block不需要使用weakSelf

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

Fri Dec 02 17:53:00 CST 2016 0 1448
iOS 面試題(一):尋找最近公共 View --

題目:找出兩個 UIView 的最近的公共 View,如果不存在,則輸出 nil 。 分析:這其實是數據結構里面的找最近公共祖先的問題。 一個 UIViewController 的所有 view 之間的關系其實可以看成一顆樹,UIViewController 的 view 變量是這顆樹的根 ...

Thu Dec 08 16:32:00 CST 2016 0 1932
IOS 看懂此文,你的block再也不需要WeakSelf弱引用了!

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

Tue Jan 09 23:49:00 CST 2018 4 4988
iOS學習(面試題): - Objective-C 的內存結構

一個 Objective-C 對象的內存結構是怎樣的? 如果把類的實例看成一個C語言的結構體(struct),它首先包含的是一個 isa 指針,而類的其它成員變量依次排列在結構體。排列順序如下圖所示: 為了驗證該說法,我們在Xcode中新建一個工程,在main.m運行 ...

Thu Mar 02 07:39:00 CST 2017 0 1380
經典面試題:為什么 ConcurrentHashMap 的讀操作不需要加鎖?

我們知道,ConcurrentHashmap(1.8)這個並發集合框架是線程安全的,當你看到源碼的get操作時,會發現get操作全程是沒有加任何鎖的,這也是這篇博文討論的問題——為什么它不需要加鎖呢? ConcurrentHashMap的簡介 “我想有基礎的同學知道在jdk1.7是采用 ...

Tue Jul 14 18:43:00 CST 2020 0 1398
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM