Я хочу сохранить кучу пар ключ-значение, причем ключом является мой собственный объект (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: но я бы предпочел использовать объектный ключ, если могу.