強引用的問題

2022-08-02 21:03:13 字數 352 閱讀 9607

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 在處理弱引用時,如果該符號有定義,則鏈結器將對該符號的引用進...