Momentan versuche ich einen NSRect in meinen Benutzereinstellungen zu speichern. Im Moment verwende ich einen NSValue, um es als ein Objekt zu umhüllen und es dann als Objekt mit dem folgenden Code in die Benutzervorgaben zu speichern:
%Vor%Wenn ich es jedoch ausführe, erhalte ich eine Fehlermeldung, die besagt: [NSUserDefaults setObject: forKey:]: Es wurde versucht, den Nichteigenschaftswert 'NSRect: {{0, 0}, {50, 50}}' der Klasse einzufügen 'NSConcreteValue'.
Weiß jemand, wie ich das beheben kann? Danke.
NSValue
wird von den Benutzerstandardeinstellungen nicht unterstützt.
Der value-Parameter kann nur aus Eigenschaftenlisten-Objekten bestehen: NSData, NSString, NSNumber, NSDate, NSArray oder NSDictionary. Für NSArray und NSDictionary-Objekte müssen ihre Inhalte Eigenschaftslistenobjekte sein.
Sie müssen den Wert in Daten archivieren und ihn dann beim Zugriff darauf entpacken.
%Vor%Tags und Links objective-c cocoa nsuserdefaults