NSMutableDictionaryの保存に問題があります。NSUserDefaultsに保存してから、青を読み込んで変更してから、もう一度保存しようとしています。
だから私は最初にそれをそのようにします:
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'