【发布时间】:2017-10-24 23:10:33
【问题描述】:
在Substring 上的 Apple 文档中说:
存储子字符串的时间不要超过执行特定操作所需的时间。子字符串包含对它所来自的字符串的整个存储的引用,而不仅仅是它所呈现的部分,即使没有对原始字符串的其他引用。因此,存储子字符串可能会延长无法再访问的字符串数据的生命周期,这似乎是内存泄漏。
String 是 Swift 中的值类型,我感到很困惑,它是如何导致内存泄漏的?
【问题讨论】:
-
String将其内容间接存储在(通常)引用计数缓冲区中。作为一个值类型并不能阻止它持有引用。
标签: swift string memory-leaks substring swift4