簡體   English   中英

每次我獲取它時,Core Data都會為同一個NSManagedObject返回一個不同的對象實例。為什么是這樣?

[英]Core Data returns a different object instance for the same NSManagedObject each time I fetch it. Why is this?

我最近注意到,如果我獲取一個ManagedObject,我可以驗證模型中只有一個,並且不會保留在我的應用程序中的任何位置,每次fetch返回對象時它都是一個不同的實例(帶有指向一個不同的記憶地址)。 為什么是這樣?

如果沒有人保留它,Core Data可以免費發布它。 如果再次要求它,它可能會在不同的內存位置。 你不能指望它是同一個對象實例。

給定的NSManagedObject綁定到特定的NSManagedObjectContext ,因此如果更改上下文,則必須更改對象。 如果對象出現故障,您可能還會在MOC釋放對象時收到新實例。 這是Core Data如何保持低內存使用率的一部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM