我正在编写一个上下文“工厂”,该工厂将维护一个继承自某个转换器类的转换器/操作对象字典。该类具有一个方法:
- (Class)classResponsibility
或者类似的东西,使得一个StringConverter类可以实现如下方法:
- (Class)classResponsibility {
return [NSString class];
}
那么将该转换器存储在字典中,我希望可以这样实现:
[converters setValue:stringConverter forKey:[stringConverter classResponsibility]];
但编译器抱怨类型 "Class" 是 setValue:forKey: 方法的第二个参数无效的参数类型。我本来想避免将键设置为类的名称("NSString"),但如果这是最好的解决方案,那么我会使用它。
NSCopying
的技术原因吗? - DruxallKeys
方法,它还返回键数组的副本)。 - Eimantas