Ich lese in -awakeFromNib meines AppDelegates ein Dictionary aus einer Property List aus, in dem ich die "Standard User Defaults" setze. Die Property List ist ein Dictionary mit weiteren Dictionaries und Arrays. Die Daten werden dann per
registriert.
Ich will die Werte als Grundlage für Benutzerpräferenzen verwenden, zur leichteren Verwendung will ich Bindings verwenden. Das Problem ist, dass [NSUserDefaults standardUserDefaults] und [NSUserDefaultsController sharedUserDefaultsController] scheinbar ein unterschiedliches Verhalten haben (Aufruf direkt nach registrieren der Default Values):
Ausgabe:
Woran liegt das? Ist es nicht zulässig, verschachtelte Dictionaries in den Standard User Defaults zu verwenden? (Wobei ein Toolbar-Autosave ja ebenso ein Dictionary anlegt...)
registriert.
Ich will die Werte als Grundlage für Benutzerpräferenzen verwenden, zur leichteren Verwendung will ich Bindings verwenden. Das Problem ist, dass [NSUserDefaults standardUserDefaults] und [NSUserDefaultsController sharedUserDefaultsController] scheinbar ein unterschiedliches Verhalten haben (Aufruf direkt nach registrieren der Default Values):
Quellcode
- NSLog(@"Test: %@", [[NSUserDefaults standardUserDefaults] valueForKeyPath:@"tableView.fields.aField.designation"]);
- NSLog(@"Test: %@", [[[[NSUserDefaultsController sharedUserDefaultsController] values] valueForKeyPath:@"tableView"] valueForKeyPath:@"fields.aField.designation"]);
- NSLog(@"Test mit Controller: %@", [[[NSUserDefaultsController sharedUserDefaultsController] values] valueForKeyPath:@"tableView.fields.aField.designation"]);
Ausgabe:
Woran liegt das? Ist es nicht zulässig, verschachtelte Dictionaries in den Standard User Defaults zu verwenden? (Wobei ein Toolbar-Autosave ja ebenso ein Dictionary anlegt...)