10

好吧,这快把我逼疯了——请告诉我我没有疯掉!

我声明:

NSMutableDictionary* generalSettingsDict;

我是我的.h

我初始化:

generalSettingsDict = [[NSMutableDictionary alloc] initWithCapacity:5];

在视图中会出现

我设置:

[generalSettingsDict setValue:[NSNumber numberWithBool:control.on]
                       forkey:[NSNumber numberWithInt:control.tag]];

在一个方法中:

-(void)settingChanged:(UISwitch*)control forEvent:(UIEvent *)event

我得到“NSMutableDictionary 可能无法响应 setValue:forkey:”,并且应用程序在运行时崩溃。

请帮忙 :(

4

2 回答 2

26

A)forkey:应该是forKey:。大写很重要。

B)setValue:forKey:是一种 KVC 方法。它可能会像你期望的那样工作,但是用于 NSMutableDictionary 的正确方法是setObject:forKey:

于 2009-07-28T18:09:31.117 回答
6

你想要setObject:forKey:setValue:forKey:是键值编码协议的一部分。NSMutableDictionary提供setObject:forKey:.

于 2009-07-28T18:09:14.953 回答