Я хотел бы сохранить слабое отношение обнуления к объекту в NSDictionary. Это ссылка на родительский NSDictionary, поэтому я могу сканировать резервную копию большой структуры без поиска.
Я не могу использовать __weak здесь; даже если моя локальная ссылка слаба, NSDictionary сохранит сильную ссылку на объект, на который было слабо указано. И, конечно, NSDictionary не может иметь nil объектов.
Я нахожусь на iOS, а не на Mac, поэтому NSHashTable недоступен. И я хочу, чтобы один объект был слабым; остальное должно оставаться сильным.
(Я собираюсь опубликовать свой ответ, поэтому у меня есть что отметить, как принято, если нет лучшего ответа. Но я надеюсь, что у кого-то есть лучший ответ.)