將視圖控制器中的託管對象的引用保留在其生命週期中是不好的做法嗎?保持對Core Data對象的引用不好嗎?
我對Core Data比較新,我最近發現你不能混合來自不同上下文的管理對象,例如如果他們不屬於你的上下文,你不能將對象添加到關係中。
例如,假設我們有一個典型的Employee
實體和一個EmployeeDetailsViewController
,它保留了對Employee
對象的強烈參考。
我應該存儲員工的ID而不是Employee
對象嗎?似乎使用ID而不是域對象是相當不方便的,所以我想知道它通常是如何完成的。
這是一個複雜的主題,有很多解決方案。我認爲安全的答案是保留'objectID's,而不是對象。 – Avi
我不會考慮這種不好的做法,實際上它很常見(考慮到核心數據對象在低內存情況下以及不再使用時會變成錯誤)。但是您採用的解決方案應該取決於項目的要求。 –
這可能會讓你感興趣[管理對象生命週期](https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CoreData/MO_Lifecycle.html#//apple_ref/doc/uid/TP40001075-CH31- SW1) – Sudo