Как получить объект из словаря для ключа, который является NSObject?

Вероятно, уже есть сообщения, посвященные этой проблеме, но я не могу найти именно то, что я хочу... У меня есть NSMutableDictionary чьи ключи являются подклассом NSObject<NSCopying>, Я нахожу это objectForKey: не работает, я получаю всегда nil даже если я использую тот же ключевой объект, который я только что использовал для вызова setObject:forKey:,

Какой лучший способ справиться с этим должен быть?

2 ответа

Ну, я полагаю, вам нужно реализовать

- (id)copyWithZone:(NSZone*)zone;
- (BOOL)isEqual:(id)object
- (NSUInteger)hash;

весь метод все выше, чтобы использовать NSObject в качестве ключа в NSDictionary

Когда вы звоните setObject:forKey: ключ копируется, поэтому словарь не получает сам объект ключа. Вот почему вы получаете ноль, когда вы звоните objectForKey:,

Вам нужно также реализовать -(BOOL)isEqual:(id)anObject,

Другие вопросы по тегам