- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我的程序中有这个简单的循环:
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/
Swift 中的 CKRecord 类规范说明使用 setObject:forKey: 来设置 CKRecord 的值。但是我看到了很多带有 setValue:forKey: 的代码示例,它是 NSV
我使用 let userDefaults = UserDefaults.standard 设置了一些用户默认值,当我检索它们时,我可以使用以下任何一个: jobTextField.text = use
我正在尝试设置 NSMutableDictionary 深处的对象,我的意思是在我可以到达它们之前有几个级别的键。 显然我做不到 setObject:x forKey forKey forKey fo
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: Where's the difference between setObject:forKey: and s
在查看文档时,我几乎看不出有什么大的不同。 “值”和“对象”都是 id 类型,因此可以是任何对象。 Key 曾经是一个字符串,在另一种情况下是一个 id。其中一个似乎保留了该对象,而另一个则没有。还有
由于 forKey 的值是 NSString,我在 Apple 文档中哪里可以找到所有可能值的完整列表?谢谢 最佳答案 方法 addAnimation:forKey: 并没有按照您的想法进行操作。 第
由于UIView动画是由CAAnimation支持的,所以我猜,当id执行UIView animateWithDuration:animations时,CALayer的addAnimation:for
我确信我在尝试编写的一个简单 iPhone 程序中遗漏了一些明显的东西,但代码看起来非常基本,我看不出有什么问题。 我正在尝试使用 NSMutableDictionary 来存储类列表及其关联的保存文
如果我使用dictionaryWithObjects:forKeys:,并且我的键数组恰好有重复项,会发生什么?我认为重复键的最后一个实例将是与该键关联的值;这是正确的吗? 最佳答案 The docs
我在控制台中遇到此崩溃: 2011-08-27 23:26:45.041 App[1672:3117] *** Terminating app due to uncaught exception 'N
This question already has answers here: Swift equivalent to `[NSDictionary initWithObjects: forKeys:
在我的项目中,我创建了一个包含对象和键的字典我为对象和键创建 NSArray 但是当我尝试创建字典时它会发送以下错误: * Terminating app due to uncaught except
这个问题在这里已经有了答案: Sort array into dictionary (5 个答案) 关闭 7 年前。 我有一个名为 animals 的 NSMutableArray。我需要创建一个
我对(例如)UIView 上的setValue:forKey 方法有疑问。 我有以下代码: let label = UILabel() label.layoutMargins = UIEdgeInse
在更改某些 UILabel 的框架时,我有一个神秘的 EXC_BAD_ACCESS。崩溃是随机的,通常我必须重复几分钟的条件。 启用 NSZombies 以及其他内存调试标志(NSDebugEnabl
在 Swift 中不可能使用 .setValue(..., forKey: ...) Int 之类的可空类型字段? 具有 enum 类型的属性 可空对象数组,如 [MyObject?] 对此有一种解决
我尝试使用函数 -setValue:forKey: 并使用 -valueForKey: 获取值 示例: NSArray *rootarr = [[NSArray alloc] init]; NSArr
我很好奇下面的代码片段中的 setValue:forKey: 发生了什么:它只是将指针设置为指向每个数组,类似于... [self setMyArray_1: animalArray]; [self
我的代码给出了一个错误提示 No visible interface for 'NSMutableDictionary' declares the selector 'addObjects:forKe
轨迹是这样的 Application received signal SIGSEGV Stack trace: #0 CoreFoundation 002B
我是一名优秀的程序员,十分优秀!