Как получить объект из словаря для ключа, который является 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
,