3

我觉得我在这里遗漏了一些明显的东西,但我是 obj-c 的新手,所以也许这只是我不知道的东西。

我在运行时收到异常错误...

NSDictionaryI 0x9d384d0> setValue:forUndefinedKey:]: 这个类不是 key overObject 的 key value coding-compliant。

在此代码的第 4 行...

NSDictionary *tempDictionary = [[NSDictionary alloc] init];

    Boolean overObjectYES = NO;
    Boolean overObjectNo = NO;

    [tempDictionary setValue:[NSNumber numberWithBool:overObjectYES] forKey:@"overObject"];
4

3 回答 3

9

我认为这是使用NSDictionarywhen you meanNSMutableDictionary和在通常认为更合适的setValue时候发送消息的组合。setObject有关详细信息,请参阅此问题:

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

于 2012-11-15T04:03:02.453 回答
3

你的意思tempDictionary是成为一个可变字典吗?如果是这样,请将其声明为:

NSMutableDictionary *tempDictionary = [[NSMutableDictionary alloc] init];
于 2012-11-15T04:01:50.567 回答
1

使用NSMutableDictionary. NSDictionary不可编辑。

NSMutableDictionary *tempDictionary = [[NSMutableDictionary alloc] init];
Boolean overObjectYES = NO;
Boolean overObjectNo = NO;

[tempDictionary setValue:[NSNumber numberWithBool:overObjectYES] forKey:@"overObject"];
于 2012-11-15T04:00:02.490 回答