Дубликат ObjectIdentifier с уничтоженным объектом - PullRequest
0 голосов
/ 16 октября 2019

Согласно документам ObjectIdentifier - это:

Уникальный идентификатор экземпляра класса или метатипа.

Гарантируется ли эта уникальность только для существующие (т.е. не утилизированные) объекты? Или распространяется на весь срок службы приложения (т. Е. Независимо от того, как долго приложение работает и сколько объектов оно создает / уничтожает, никогда не будет столкновений)? Очевидно, я подозреваю, что первое, но хотел бы получить некоторое подтверждение. (Например, кажется, что реализация состоит в том, что ObjectIdentifier каким-то образом получен из адреса объекта в памяти.)

Вариант использования заключается в том, что я рассматриваю использование ObjectIdentifier для hashValue для Set слабых объектов, но если возможна коллизия идентификаторов для существующих и уже уничтоженных объектов, это не сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...