Я использую NSDictionary как связанный массив (то есть, ключи, которые я использую, могут быть любыми произвольными объектами). Одной из очень неприятных вещей в NSDictionary является то, что он всегда делает копию ключа и сохраняет его. В моем сценарии я позже извлечу ключи из NSDictionary и сделаю некоторые операции с ними. Операция зависит от идентификатора объекта ключей. Поскольку ключи, которые я получил позже, являются копиями объектов, которые я первоначально использовал в качестве ключей. Более поздняя проверка идентификатора объекта не выполняется.NSDictionary, который не копирует ключи для iPhone 3.0 SDK?
Мой вопрос в том, есть ли какая-либо хэш-табличная структура данных в iPhone 3.0 SDK, которая не делает копию ключей? Спасибо.
Outdateboy
И если вы сравниваете объекты вашего собственного класса, вы просто реализуйте свой собственный метод -isEqual в классе. –
Зачем использовать обратные вызовы 'NULL'? Просто используйте 'kCFTypeDictionaryKeyCallBacks' (сохранить ключи) вместо' kCFCopyStringDictionaryKeyCallBacks' (копировать ключи). –
@Peter: 'kCFCopyStringDictionaryKeyCallBacks' вообще не используется в' NSDictionary', поэтому я думаю, что проблема афера не просто копирование. – kennytm