NSArray 上的 Swift 内存泄漏

Posted

技术标签:

【中文标题】NSArray 上的 Swift 内存泄漏【英文标题】:Swift Memory Leak on NSArray 【发布时间】:2015-09-21 09:05:20 【问题描述】:

我正在使用单例模式和 Swift 编程语言开发应用程序。当我使用 Instruments 分析应用程序时,我注意到存在指向 NSArray 的内存泄漏。 Instruments 指向以下代码行(请查看屏幕截图)。谁能找到泄漏发生的原因?我试图将数组 Workout 初始化为:

workout = []

没有报告泄漏。也许它与取消归档有关?

【问题讨论】:

你应该检查这个:***.com/questions/24024549/… 以便在 Swift 中获得正确的单例模式。 【参考方案1】:

在此处查看此答案:Swift Decode Array Custom Class Memory Leak 这似乎是一个错误。我也有同样的问题。所以不要直接将值分配给workout,你可以这样做:

if let wo = NSKeyedUnarchiver.unarchiveObjectWithFile(Utilities.getFileURL("workout")) as? [ExceciseObject] 
    workout = wo.map  $0 

【讨论】:

以上是关于NSArray 上的 Swift 内存泄漏的主要内容,如果未能解决你的问题,请参考以下文章