首页 > 解决方案 > ObjectIdentifier 与被破坏的对象重复

问题描述

根据文档ObjectIdentifier是:

类实例或元类型的唯一标识符。

这种唯一性是否保证仅适用于现有(即未处理的)对象?还是贯穿整个应用程序生命周期(即无论应用程序运行多长时间以及它创建/销毁多少对象都不会发生冲突)?显然,我怀疑前者,但想得到一些确认。(例如,实现似乎是ObjectIdentifier从内存中对象的地址派生而来的。)

用例是我考虑将ObjectIdentifierforhashValue用于Set弱对象,但如果现有对象和已销毁对象的 id 可能发生冲突,那么这将不起作用。

标签: swift

解决方案


推荐阅读