Я хочу использовать ссылочное значение объекта в качестве ключа в словарь, в противоположность копии значения объекта. Так, я по существу хочу хранить объект, связанный с конкретным экземпляром другого объекта в словаре и получить то значение позже.
Действительно ли это возможно? Это полностью против идеи NSDictionary? Я могу сказать, что, вероятно, приближаюсь к этому неправильный путь, потому что словарь хочет, чтобы я реализовал NSCopying на самом объекте, который действительно не имеет смысла с точки зрения того, что я делаю. Я вижу, что то, что я должен действительно делать, переносит значение указателя, но это кажется немного безумным.
Совет ценился бы.
NSMutableDictionary был разработан для работы только с экземплярами объектов Objective-C. Например, когда вы вызываете setObject: forKey:
, метод вызывает copyWithZone:
для ключа и сохраняет
для значения.
Если вы хотите иметь структуру словаря и иметь возможность работать с произвольными ключами и значениями, вы можете использовать CFMutableDictionary . Вы можете точно описать, что делается, с помощью ключей и значений; он достаточно гибкий, чтобы работать с произвольными строками указателей или событий char *
.
Думаю, вы можете использовать [NSValue valueWithPointer: object]
.