Я могу установить объекты UIColor как ключи в NSMutableDictionary весь день, и все хорошо и счастливо ...
Например:
[myDict setObject:foo forKey:[UIColor redColor]];
Это прекрасно работает ... ЕСЛИ Я не пытаюсь использовать следующее:
UIColor *black = [[UIColor alloc] initWithRed:0 green:0 blue:0 alpha:1];
[myDict setObject:foo forKey:black];
Это всегда дает мне:
- [UIDeviceRGBColor copyWithZone:]: нераспознанный селектор отправлен на экземпляр 0x691be80
Причины, по которым я определяю черный цвет в цветовом пространстве RGB, не важны для этого вопроса, просто знайте, что я должен определить его таким образом. Я не понимаю, почему этот и только этот цвет вызывает у меня проблемы, и почему ошибка - это ошибка copyWithZone?
Для справки, [UIColor blackColor] работает как ключ, но поскольку это не цветовое пространство RGB, оно не подходит для моего приложения.