Я хочу сохранить несколько пар ключ-значение, причем ключом является мой собственный объект (ObjectA), который наследуется от NSObject, а значением является int.
Я пытаюсь использовать NSMutableDictionary. Я понимаю, что вы можете хранить только типы объектов в словаре, поэтому у меня есть следующее:
id value = [NSNumber numberWithInt:my_number];
[[self dictionary] setObject:value forKey:myObjectA];
Теперь это дает мне ошибку, говоря
- [ObjectA copyWithZone:]: нераспознанный селектор отправлен в экземпляр
это хорошо, я понимаю, что объектные ключи должны реализовывать протокол NSCopying. Однако потом я прочитал, что вы можете сделать это, обернув объекты с помощью NSValue.
Может кто-нибудь объяснить, как мне обернуть мои объекты, и как я могу найти значение по ключу? Я все еще могу использовать dictionary objectForKey:myObjectA
или мне нужно обернуть myObjectA объектом NSValue во время поиска? Или я должен реализовывать NSCopying в моем собственном классе или вместо этого использовать строковый ключ?
Я ищу этот самый простой и легкий способ использования словаря, если мне придется реализовать строковый ключ и использовать вместо него setValue: forKey: но я бы лучше использовал ключ объекта, если смогу.