1.由強引用引發的嚴重問題
mytableview的資料來源本來是folderarray陣列,因為使用了
self.folderdeletearray = self.folderarray;
然後,對folderdeletearray陣列的部分元素進行了刪除,之後在
[self reloaddata];
會發現,之前刪除的元素,現在竟然顯示不出來。深層次的原因是強引用導致的,原因之後再深究。
然而,向下面這樣寫就行
self.folderdeletearray = self.folderarray.mutablecopy;
強引用,軟引用,弱引用
強引用 強引用設定為空,物件立馬會被 public class normalreference classm 軟引用 軟引用當引用存在的時候,只有當記憶體不足的時候才去 public class t0 softreference catch exception e system.out.printl...
強引用和弱引用
weak 和 strong 會出現在宣告中 預設情況下,乙個指標都會使用 strong 屬性,表明這是乙個強引用。這意味著,只要引用存在,物件就不能被銷毀。這是一種所期望的行為 當所有 強 引用都去除時,物件才能被收集和釋放。不過,有時我們卻希望禁用這種行為 一些集合類不應該增加其元素的引用,因為這...
弱引用和強引用
如果目標檔案對外部目標檔案符號進行強引用,但在鏈結成可執行檔案時不能被正確的決議 好奇怪的名稱,看看p 51 鏈結器就會報錯,這是對於強引用 strong reference 而言的。與之相對應還有一種弱引用 weak reference 在處理弱引用時,如果該符號有定義,則鏈結器將對該符號的引用進...