【发布时间】:2018-12-22 17:56:21
【问题描述】:
我有一个class A 将optional weak variable 存储到其他对象,即subclass 的A。有时当我在这个变量中存储一些东西时,我会得到一个leak - 这种情况很少发生,但确实如此。我在forEach loop 中分配了这个变量,但是当我使用weak var 时,我在其他应用程序的地方也发现了类似的泄漏,所以我认为循环与此无关。负责库是libswiftCore.dylib,负责框架是swift::RefCounts<swift::RefCountBitsT<(swift::RefCountInlinedness)1> >::formWeakReference()。其他人有过类似的问题吗?有什么办法可以解决这个问题吗?
【问题讨论】:
-
从未见过,但对于 Apple 框架中的泄漏,您应该提交错误报告。
-
我有这个问题。我认为这是一个 Swift 问题,我不知道为什么它会在某些特定情况下发生。我能够通过使用
Unmanaged<T>来修复它,但我决定恢复修复以支持更具可读性的代码。仅供参考,就我而言,我存储在弱属性中的实际对象没有被保留,因此不解决问题对我来说是可以的。 -
您能否提供一个最小可行的 sn-p 代码重现该问题,去掉与泄漏发生无关的任何内容?
标签: swift memory-leaks automatic-ref-counting