我正在尝试实现 NSMutableDictionary 的子类,当字典中不存在密钥时,它返回 nil 而不是抛出 NSUndefinedKeyException 。
但是,当我尝试将对象添加到我的字典时,我得到
[NSMutableDictionary setObject:forKey:]: method only defined for abstract class
NilDictionary.h
@interface NilDictionary : NSMutableDictionary {
}
@end
零字典.m
@implementation NilDictionary
- (id)valueForUndefinedKey:(NSString *)key {
return nil;
}
@end
我真的必须在我的子类中再次实现 NSMutableDictionary 中的所有方法,还是我应该继承一些其他类?
澄清:我最初的问题归结为我无法正确阅读文档。
如果您需要将 NSMutableDictionary 子类化,请查看正确答案。如果你想要一个在你的键不存在时返回 nil 的字典,NSMutableDictionary 已经这样做了。