在类“对象”类型的对象上找不到字典元素的预期方法

时间:2013-11-30 23:03:03

标签: ios objective-c subscript

我正在尝试在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];
}

我遗失的东西?做错了吗?

2 个答案:

答案 0 :(得分:5)

方法的名称为objectForKeyedSubscript:,而不是objectAtKeyedSubscript:

答案 1 :(得分:1)

尽管出现了很多名字“objectAtKeyedSubscript:”out there on the webcorrect method name is objectForKeyedSubscript:

请注意,这与非下标方法名称objectForKey:相似,而objectAtIndexedSubscript:执行objectAtIndex: