gpt4 book ai didi

objective-c - NSDictionary setValue :forKey: -- getting "this class is not key value coding-compliant for the key"

转载 作者:太空狗 更新时间:2023-10-30 03:11:18 26 4
gpt4 key购买 nike

我的程序中有这个简单的循环:

for (Element *e in items)
{
NSDictionary *article = [[NSDictionary alloc] init];
NSLog([[e selectElement: @"title"] contentsText]);
[article setValue: [[e selectElement: @"title"] contentsText] forKey: @"Title"];

[self.articles insertObject: article atIndex: [self.articles count]];
[article release];
}

它使用 ElementParser 库从 RSS 提要中生成值字典(除了“标题”之外还有其他值,我已经省略了)。 self.articles 是一个 NSMutableArray,它存储了 RSS 文档中的所有字典。

最后,这应该会生成一个字典数组,每个字典都包含我需要的关于数组索引处的项目的信息。当我尝试使用 setValue:forKey: 它给了我

此类不符合键“Title”的键值编码

错误。这与 Interface Builder 无关,它只是代码。为什么会出现此错误?

最佳答案

首先,当您应该使用 -setObject:forKey: 时,您在字典上使用了 -setValue:forKey:。其次,您正在尝试改变 NSDictionary,它是一个不可变对象(immutable对象),而不是 NSMutableDictionary,后者可以工作。如果你切换到使用 -setObject:forKey: 你可能会得到一个异常告诉你字​​典是不可变的。将你的 article 初始化切换到

NSMutableDictionary *article = [[NSMutableDictionary alloc] init];

它应该可以工作。

关于objective-c - NSDictionary setValue :forKey: -- getting "this class is not key value coding-compliant for the key",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8023829/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com