Auf Ihrer EntityType Klasse implementieren, um die folgenden zwei Verfahren zur Codierung und Decodierung (etwas zu Ihrer eigenen Objekt):
- (void)encodeWithCoder:(NSCoder *)encoder {
//Encode properties, other class variables, etc
[encoder encodeObject:self.name forKey:@"name"];
}
- (id)initWithCoder:(NSCoder *)decoder {
if((self = [super init])) {
//decode properties, other class vars
self.name = [decoder decodeObjectForKey:@"name"];
}
return self;
}
Lesen und Schreiben von NSUserDefaults
:
- (void)saveCustomObject:(MyObject *)object key:(NSString *)key {
NSData *encodedObject = [NSKeyedArchiver archivedDataWithRootObject:object];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:encodedObject forKey:key];
[defaults synchronize];
}
- (MyObject *)loadCustomObjectWithKey:(NSString *)key {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *encodedObject = [defaults objectForKey:key];
MyObject *object = [NSKeyedUnarchiver unarchiveObjectWithData:encodedObject];
return object;
}
-Code entlehnt : save class in NSUserDefaults
Warum speichern Sie den ausgewählten Status einer Schaltfläche in 'NSUserDefaults'? – Droppy
weil ich einen Zustand habe, der von der gedrückten Taste abhängt – aboodmanna
Sie verwenden also 'NSUserDefaults', um Informationen zwischen verschiedenen Teilen Ihrer App weiterzuleiten? – Droppy