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 に答える