NSMutableDictionaryを保存できません。私はそれをNSUserDefaultsに保存しようとしていて、青をロードして変更してからもう一度保存します。設定値NSMutableDictionary?
NSMutableDictionary *d = [NSMutableDictionary dictionaryWithObjectsAndKeys:
firstNameLbl, @"firstName",
lastNameLbl, @"lastName",
nil];
[[NSUserDefaults standardUserDefaults] setObject:d forKey:@"youDict"];
[[NSUserDefaults standardUserDefaults] synchronize];
は、その後、私はそれをロードして試してみて、このような値を変更します:
だから私は、最初はそうのようにそれを作る
NSMutableDictionary *d = [[NSUserDefaults standardUserDefaults] objectForKey:@"youDict"];
[d setObject:textField.text forKey:key];
[[NSUserDefaults standardUserDefaults] setObject:d forKey:@"youDict"];
[[NSUserDefaults standardUserDefaults] synchronize];
しかし、このライン、[d setObject:textField.text forKey:key];
は、にアプリを引き起こしクラッシュと私はこのエラーを取得する:
'NSInternalInconsistencyException', reason: '-[__NSCFDictionary setObject:forKey:]: mutating method sent to immutable object'
こんにちは、こんにちは。
それはあなたがこのような方法で行うことができないようですが、確かにNSUserDefaultsは不変__NSCFDictionaryを返しますので、あなたが呼び出すときに問題があるかもしれ '[DのsetObjectに:textField.text forKey:キー];'。 – Mat