Speichern der ALAsset-URL in NSUserDefaults
Hi ich habe meineALAsset URL
speichern inNSMutableArray
,
"ALAsset - Type:Photo, URLs:assets-library://asset/asset.JPG?id=119A0D2D-C267-4B69-A200-59890B2B0FE5&ext=JPG",
"ALAsset - Type:Photo, URLs:assets-library://asset/asset.JPG?id=92A7A24F-D54B-496E-B250-542BBE37BE8C&ext=JPG",
"ALAsset - Type:Photo, URLs:assets-library://asset/asset.JPG?id=77AC7205-68E6-4062-B80C-FC288DF96F24&ext=JPG
Ich konnte nicht rettenNSMutableArray
imNSUserDefaults
aufgrund eines FehlersNote that dictionaries and arrays in property lists must also contain only property values.
Ich denke daran, dies zu verwenden:
- (void)encodeWithCoder:(NSCoder *)encoder {
//Encode properties, other class variables, etc
[encoder encodeObject:self.selectedPhotos forKey:@"selectedPhotos"];
}
- (id)initWithCoder:(NSCoder *)decoder {
if((self = [super init])) {
//decode properties, other class vars
self.selectedPhotos = [decoder decodeObjectForKey:@"selectedPhotos"];
}
return self;
}
dann speichern und mit diesem Code abrufen:
- (void)saveCustomObject:(MyCustomObject *)obj {
NSData *myEncodedObject = [NSKeyedArchiver archivedDataWithRootObject:obj];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:myEncodedObject forKey:@"myEncodedObjectKey"];
}
- (MyCustomObject *)loadCustomObjectWithKey:(NSString *)key {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *myEncodedObject = [defaults objectForKey:key];
MyCustomObject *obj = (MyCustomObject *)[NSKeyedUnarchiver unarchiveObjectWithData: myEncodedObject];
return obj;
}
Aber ich verstehe es irgendwie nicht ganz, stürzt immer noch in meinem Code ab. Weiß nicht wie. Und ich konnte es nicht in NSUserDefaults speichern. Hoffe jemand hilft. Habe wirklich schon eine Weile Probleme damit. Hoffe, dass mich jemand auf dem richtigen Weg zum Speichern und Wiederherstellen führtNSUserDefaults
. Dann zurück zu aNSMutableArray
.