2012-05-04 54 views

回答

2

核心數據實體只是一個對象,因此您應該遵循memory management rules。當你需要它們時,你需要retain實體,當你不再需要時需要release

例如:使用sqlite後端,核心數據將緩存加載的數據,以儘量減少發送到數據庫的請求量。但它不能保存所有的記錄,它應該知道你使用哪些實體,哪些不這樣做,因此它可以釋放未使用和空閒的內存。在使用weak屬性的情況下,您最終可能會得到垃圾指針或零而不是實際的對象。

+1

電弧和保持/釋放之間有直接聯繫,因爲ARC只是在幕後爲您做。聲明成員變量爲'strong'意味着編譯器會爲你保留/釋放它,'weak'意味着賦值。 –

+0

是的,但你說:「當你需要它們時你保留實體,當你不再需要它們時釋放它們。」這聽起來像他自己應該這樣做...... – lnafziger

+0

+1我明白你爲什麼要解釋保留/釋放,然後跳入強/弱的ARC。感謝您的深思熟慮的迴應。 –

相關問題