Tengo un UIImageView que permite a un usuario colocar y mantener una imagen hasta que se pueda guardar. El problema es que no puedo averiguar cómo guardar y recuperar la imagen que he colocado en la vista.
He recuperado y colocado la imagen en UIImageView así:
//Get Image
- (void) getPicture:(id)sender {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = YES;
picker.sourceType = (sender == myPic) ? UIImagePickerControllerSourceTypeCamera : UIImagePickerControllerSourceTypeSavedPhotosAlbum;
[self presentModalViewController:picker animated:YES];
[picker release];
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage (UIImage *)image editingInfo:(NSDictionary *)editingInfo {
myPic.image = image;
[picker dismissModalViewControllerAnimated:YES];
}
Muestra la imagen seleccionada en mi UIImageView muy bien, pero no tengo idea de cómo guardarla. Estoy guardando todas las demás partes de la vista (principalmente UITextfield) en Core Data. He buscado y buscado y he probado muchos fragmentos de código que la gente ha sugerido, pero no estoy ingresando el código correctamente o esas sugerencias no funcionan con la forma en que configuré mi código. Probablemente sea lo primero. Me gustaría guardar la imagen en UIImageView usando la misma acción (un botón de guardar) que estoy usando para guardar el texto en UITextFields. Así es como guardo mi información de UITextField:
// Handle Save Button
- (void)save {
// Get Info From UI
[self.referringObject setValue:self.myInfo.text forKey:@"myInfo"];
Como dije antes, he probado varios métodos para que esto funcione, pero no puedo entenderlo. Por primera vez en mi vida he querido causar daño físico a un objeto inanimado, pero he logrado contenerme.
Me gustaría poder guardar la imagen que el usuario coloca en UIImageView en la carpeta de documentos de la aplicación, y luego poder recuperarla y colocarla en otro UIImageView para mostrarla cuando el usuario empuja esa vista en la pila. ¡Cualquier ayuda es muy apreciada!
fuente
Versión Swift 3.0
fuente
Esta es la respuesta de Fangming Ning para Swift 4.2 , actualizada con un método recomendado y más rápido para recuperar la ruta del directorio de documentos y con mejor documentación. Créditos a Fangming Ning por el nuevo método también.
Consulte todas las opciones de escritura de datos posibles aquí.
fuente
fileURLWithPath
junto conabsoluteString
está mal.fuente
Swift 4 con extensión
Ejemplo de uso
fuente
En Swift:
fuente