Ключи объектов с NSMutableDictionary (Objective-C)

Я хочу сохранить кучу пар ключ-значение, причем ключом является мой собственный объект (ObjectA), наследуемый от NSObject, а значение - int.
Я пытаюсь использовать NSMutableDictionary. Я понимаю, что в словаре можно хранить только типы объектов, поэтому у меня есть следующее:

id value = [NSNumber numberWithInt:my_number];

[[self dictionary] setObject:value forKey:myObjectA];

Теперь это дает мне ошибку, говоря

- [ObjectA copyWithZone:]: нераспознанный селектор отправлен в экземпляр

, который является хорошо, я понимаю, что объектные ключи должны реализовывать протокол NSCopying. Однако затем я прочитал, что вы можете сделать это, заключив свои объекты в оболочку с помощью NSValue.

Может кто-нибудь, пожалуйста, объясните, как я бы обернул свои объекты и как я могу затем найти значение по ключу? Могу ли я использовать словарь objectForKey: myObjectA или мне нужно заключить myObjectA в объект NSValue во время поиска? Или мне следует реализовать NSCopying в моем пользовательском классе или вместо этого использовать строковый ключ?

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

7
задан dnatoli 24 May 2011 в 06:43
поделиться