NSDictionary от Cocoa: почему копируются ключи?

Все объекты, используемые в качестве ключей в NS (изменяемых) словарях, должны поддерживать протокол NSCopying, и эти объекты копируются, когда они используются в словаре.

Я часто хочу использовать более тяжелые объекты в качестве ключей, просто чтобы отобразить один объект на другой. Что я действительно имею в виду, когда я делаю это эффективно:

[dictionary setObject:someObject forKey:[NSValue valueWithPointer:keyObject]];

(«Когда я вернусь и снова вручу вам тот же экземпляр ключевого объекта, вытащите мне то же значение».)

... что я и делаю, чтобы обойти этот дизайн иногда. (Да, я знаю о NSMapTable в настольном Какао; но, например, iPhone не поддерживает это.)

Но что я недействительно get - вот почему копирование ключа необходимо или желательно в первую очередь. Что он покупает реализацию или вызывающий?

Ответы на вопрос(3)

Ваш ответ на вопрос