【发布时间】:2012-09-21 06:29:46
【问题描述】:
我正在尝试使用类作为NSDictionary 中的键。我查看了this question 的答案,我所拥有的几乎相同;我正在使用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];
}
我在这里做错了什么?
【问题讨论】:
-
您只能将对象用作其类(在本例中为 Class 对象的 metaclass)符合 NSCoding 的键。类没有。
-
@H2CO3 很有趣...那么,this answer 是如何工作的?
-
我刚试了一下,确实有效,貌似类可以复制。我错了,对不起。
-
嗯,这让我回到我的问题 :) 我做错了什么?与该问题中提供的答案相比,我在做的事情没有任何不同。很奇怪!
-
你做错了什么是你对编译器的误报过于敏感:) 见我的回答。 (说真的,你没有做错任何事。)
标签: objective-c class nsdictionary