Salvando o URL do ALAsset em NSUserDefaults
Oi eu tenho meuALAsset URL
salvar emNSMutableArray
,
"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
Eu não consegui salvarNSMutableArray
emNSUserDefaults
devido a ter um erroNote that dictionaries and arrays in property lists must also contain only property values.
Estou pensando em usar isso:
- (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;
}
depois salve e recupere com este código:
- (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;
}
Mas eu de alguma forma não entendi, ainda falha no meu código. Não sei como. E eu não consegui salvá-lo em NSUserDefaults. Espero que alguém ajude. Realmente tem tido problema com isso um tempo. Espero que alguém me guie no caminho certo de salvá-lo e recuperá-lo da maneira certaNSUserDefaults
. Então de volta a umNSMutableArray
.