【委托是什么】委托 一個對象保存另一個對象的引用,被引用的對象實現了事先確定的協議,該協議用于將引用對象中的變化通知給被引用對象 。委托和委托方雙方的property聲明屬性都是assign而不是retain為了避免循環引用造成的內存泄露循環引用的問題這樣理解比如在main函數中創建了兩個類的對象A和B,現在引用計數是1 。
現在讓A和B互相引用A有一個屬性是B對象,屬性說明是retain;B有一個屬性是A對象,屬性說明是retain,現在兩個對象的引用計數都增加1,都變成了2 。現在執行[A releasw];[B release];此時創建對象的main函數已經釋放了自己對對象的所有權,但是此時A和B的引用計數都還是1,因為他們互相引用了 。
這使你發現A和B將無法釋放,因為要想釋放A必須先釋放B,在B的dealloc方法中再釋放A 。同理,想要釋放B必須先釋放A,在A的dealloc方法中再釋放B 。所以這兩個對象將一直存在內存中而不釋放,這就是所謂的循環引用的問題 。
猜你喜歡
- 實際經濟增長速度稱為什么
- 公交車怎么二維碼付款
- 一帶一路是什么意思為什么提出一帶一路戰略
- 名匯國際外匯相對股票的優勢是什么
- 描寫冬天的好句子 關于描寫冬天的優美句子
- IPO上會和過會是什么意思
- 電冰箱怎么快速除霜 電冰箱如何快速除霜
- 自然人是什么
- 鮰怎么讀 鮰讀音介紹
- 天然氣灶打不著火原因和處理方法
