Я пытаюсь использовать класс в качестве ключа в NSDictionary. Я рассмотрел ответ на этот вопрос, и то, что у меня есть, почти то же самое; Я использую setObject: forKey:. Однако XCode жалуется, говоря Incompatible pointer types sending 'Class' to parameter of type 'id<NSCopying>'. У меня есть вызов:
[_bugTypeToSerializerDictionary setObject: bugToStringSerializer
forKey: [bugToStringSerializer serializedObjectType]];
bugToStringSerializer - это экземпляр bugToStringSerializer, чьи конкретные реализации реализуют serializedObjectType. Пример конкретной реализации выглядит следующим образом:
- (Class) serializedObjectType {
return [InfectableBug class];
}
Что я здесь делаю неправильно?