NSDictionary mit der Zuordnung von NSNumber zu NSString ist ein Objekt, das keine Eigenschaftsliste ist

Folgender Code:

[[NSUserDefaults standardUserDefaults] setObject:photoIdToPath forKey:@"photo_id_to_path"];

gibt mir folgenden fehler:

Attempt to set a non-property-list object {
417675729 = "/Users/k06a/Library/Application Support/iPhone Simulator/7.1/Applications/21163736-DF6F-4E79-8196-6A966C81ED1B/Documents/417675729";
} as an NSUserDefaults value for key photo_id_to_path

Hier istphotoIdToPath Inhaltsanalyse des Wörterbuchs über die Xcode-Debug-Konsole:

(lldb) po photoIdToPath
{
    417675729 = "/Users/k06a/Library/Application Support/iPhone Simulator/7.1/Applications/21163736-DF6F-4E79-8196-6A966C81ED1B/Documents/417675729";
}

(lldb) po [[[photoIdToPath allKeys] lastObject] class]
__NSCFNumber

(lldb) po [[[photoIdToPath allValues] lastObject] class]
NSPathStore2

DamitNSPathStore2 ist eine Unterklasse vonNSString, warum ist dieses Wörterbuch keine Eigenschaftsliste?

AKTUALISIEREN:

Hierhttps://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/nsuserdefaults_Class/Reference/Reference.html#//apple_ref/occ/instm/NSUserDefaults/setObject:forKey: Ich habe Text gefunden:

Der Wertparameter kann nur Eigenschaftenlistenobjekte sein: NSData, NSString, NSNumber, NSDate, NSArray oder NSDictionary. Für NSArray- und NSDictionary-Objekte müssen deren Inhalte Eigenschaftenlistenobjekte sein. Siehe „Was ist eine Eigenschaftsliste?“ Im Programmierhandbuch für die Eigenschaftsliste.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage