【发布时间】:2026-02-11 21:05:01
【问题描述】:
takeUnretainedValue 和 takeRetainedValue 有什么区别?基于 Apple 的文档:
这两种方法都返回原始的未包装类型 目的。您根据您使用的 API 是否选择使用哪种方法 正在调用返回一个未保留或保留的对象。
但是我怎么知道非托管对象是非保留对象还是保留对象呢?例如,来自AddressBook 框架的方法ABAddressBookCreateWithOptions: 返回一个非托管对象ABAddressBook,一些教程将其视为保留对象。当使用ALAsset时,方法thumbnail返回一个非托管对象CGImage,一些教程认为这是一个非保留对象。
感谢您的帮助。
【问题讨论】:
标签: swift memory-management unsafe-unretained retained-in-memory