Instruments 中显示的核心数据 NSManagedObject 泄漏周期——这是什么意思?

Core Data NSManagedObject Leak Cycle shown in Instruments – what does this mean?

我是 运行 Xcode 在模拟器中针对我的应用程序泄漏工具(注意我不是 运行 分配工具)。

当我 select 查看泄漏循环时,我得到的负载如下所示:

stracktrace 指向的代码是:

player.club = newClub

在我的应用程序中,一名球员属于一个俱乐部,我只是将其更新为一个新俱乐部。

ClubPlayer 都是 NSManagedObject。

此外,当玩家移动球杆时,会创建一个新的 TransferHistory(也是 NSManagedObject)

但是Instruments中没有提到TransferHistory

有人知道这张图片在说什么吗?

所以我将这个问题的范围缩小到我的架构中的其他关系。

具体来说,一个 Player 有一个 TeamSheetSelection,一个 TeamSheetSelection 有一个 Player。

在将球员分配到新俱乐部之前。我手动将这两个 has one relationships 设置为 nil。

Player.team_sheet_selection.player = nil
Player.team_sheet_selection = nil

进行此更改后,Player 对象将不再在内存中徘徊。