ios下載 ios中什么是弱變量跟強(qiáng)變量?
ios中什么是弱變量跟強(qiáng)變量?弱變量:在某些情況下,當(dāng)兩個對象擁有彼此的強(qiáng)引用時,會有一個保留周期,這樣兩個對象都不能被銷毀,即使其中一個不再使用。這個問題可以通過在兩個對象之間建立一個弱引用來解決。
ios中什么是弱變量跟強(qiáng)變量?
弱變量:在某些情況下,當(dāng)兩個對象擁有彼此的強(qiáng)引用時,會有一個保留周期,這樣兩個對象都不能被銷毀,即使其中一個不再使用。這個問題可以通過在兩個對象之間建立一個弱引用來解決。我們可以在父對象和子對象之間使用強(qiáng)引用,在子對象和父對象之間使用弱引用。這樣,就沒有循環(huán)維護(hù),弱變量也不能防止被引用對象被破壞。在這種情況下,子對象不能阻止父對象被銷毀。此時,子對象將被系統(tǒng)自動設(shè)置為nil,這也避免了無意中向其發(fā)送消息而導(dǎo)致崩潰的問題。因為向nil對象發(fā)送消息不會響應(yīng)。
可以使用弱關(guān)鍵字聲明弱變量:
強(qiáng)變量:通?;≈械乃兄羔樧兞慷际菑?qiáng)變量。引用對象到對象u將新對象分配到對象u舊對象使對象u新對象自動保留,而舊對象自動保留u舊對象將在分配時釋放。強(qiáng)變量默認(rèn)初始化為0,無論是實(shí)例變量、局部變量還是全局變量
1。局部變量:方法中定義的變量稱為“局部變量”或“臨時變量”。方法結(jié)束后,局部變量占用的內(nèi)存將被釋放。
2. 成員變量:在類主體的變量部分中定義的變量,也稱為字段。
3. 全局變量:全局變量,也稱為“外部變量”,不屬于任何方法。范圍從定義的地址開始,一直到源文件的結(jié)尾。
4. 局部變量和成員變量的作用域主要不同