強(qiáng)引用和弱引用的區(qū)別 ios中什么是弱變量跟強(qiáng)變量?
ios中什么是弱變量跟強(qiáng)變量?弱變量:在某些情況下,當(dāng)兩個(gè)對象擁有彼此的強(qiáng)引用時(shí),會(huì)有一個(gè)保留周期,這樣兩個(gè)對象都不能被銷毀,即使其中一個(gè)不再使用。這個(gè)問題可以通過在兩個(gè)對象之間建立一個(gè)弱引用來解決。
ios中什么是弱變量跟強(qiáng)變量?
弱變量:在某些情況下,當(dāng)兩個(gè)對象擁有彼此的強(qiáng)引用時(shí),會(huì)有一個(gè)保留周期,這樣兩個(gè)對象都不能被銷毀,即使其中一個(gè)不再使用。這個(gè)問題可以通過在兩個(gè)對象之間建立一個(gè)弱引用來解決。我們可以在父對象和子對象之間使用強(qiáng)引用,在子對象和父對象之間使用弱引用。這樣,就沒有循環(huán)維護(hù),弱變量也不能防止被引用對象被破壞。在這種情況下,子對象不能阻止父對象被銷毀。此時(shí),子對象將被系統(tǒng)自動(dòng)設(shè)置為nil,這也避免了無意中向其發(fā)送消息而導(dǎo)致崩潰的問題。因?yàn)橄騨il對象發(fā)送消息不會(huì)響應(yīng)。
可以使用弱關(guān)鍵字聲明弱變量:
強(qiáng)變量:通?;≈械乃兄羔樧兞慷际菑?qiáng)變量。引用對象到對象u將新對象分配到對象u舊對象使對象u新對象自動(dòng)保留,而舊對象自動(dòng)保留u舊對象將在分配時(shí)釋放。默認(rèn)情況下,強(qiáng)變量將被初始化為0,無論是實(shí)例變量、局部變量還是全局變量
如果是這樣,IOS將很快消亡,一套結(jié)合了軟件和硬件的新手機(jī)將取代當(dāng)前的iPhone。