我正在尝试在Objective-C中实现自定义类的键控下标:
这就是我在标题中的内容:
- (id)objectAtKeyedSubscript:(id <NSCopying>)key;
这就是我在实施中所拥有的:
- (id)objectAtKeyedSubscript:(id <NSCopying>)key
{
id result = self.attributes[key];
return result;
}
我这样使用它:
element[@"href"];
之前我做过:
[element objectForKey:@"href"];
其中objectForKey的实现方式如下:
- (NSString *) objectForKey:(NSString *) theKey
{
return [[self attributes] objectForKey:theKey];
}
我遗失的东西?做错了吗?
答案 0 :(得分:5)
方法的名称为objectForKeyedSubscript:
,而不是objectAtKeyedSubscript:
。
答案 1 :(得分:1)
尽管出现了很多名字“objectAtKeyedSubscript:”out there on the web,correct method name is objectForKeyedSubscript:
请注意,这与非下标方法名称objectForKey:
相似,而objectAtIndexedSubscript:
执行objectAtIndex: