J'ai un UIImageView qui permet à un utilisateur de placer et de conserver une image jusqu'à ce qu'elle puisse être enregistrée. Le problème est que je ne peux pas comprendre comment enregistrer et récupérer l'image que j'ai placée dans la vue.
J'ai récupéré et placé l'image dans UIImageView comme ceci:
//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];
}
Il affiche très bien l'image sélectionnée dans mon UIImageView, mais je n'ai aucune idée de comment l'enregistrer. J'enregistre tous les autres éléments de la vue (principalement UITextfield) dans Core Data. J'ai recherché et recherché et essayé de nombreux morceaux de code suggérés par les gens, mais soit je ne saisis pas correctement le code, soit ces suggestions ne fonctionnent pas avec la configuration de mon code. C'est probablement le premier. Je voudrais enregistrer l'image dans UIImageView en utilisant la même action (un bouton d'enregistrement) que j'utilise pour enregistrer le texte dans UITextFields. Voici comment j'enregistre mes informations UITextField:
// Handle Save Button
- (void)save {
// Get Info From UI
[self.referringObject setValue:self.myInfo.text forKey:@"myInfo"];
Comme je l'ai dit plus tôt, j'ai essayé plusieurs méthodes pour que cela fonctionne, mais je ne peux pas le comprendre. Pour la première fois de ma vie, j'ai voulu causer des dommages physiques à un objet inanimé, mais j'ai réussi à me retenir.
Je voudrais pouvoir enregistrer l'image que l'utilisateur place dans UIImageView dans le dossier de documents de l'application, puis pouvoir la récupérer et la placer dans une autre UIImageView pour l'afficher lorsque l'utilisateur pousse cette vue sur la pile. Toute aide est grandement appréciée!
la source
Version Swift 3.0
la source
C'est la réponse de Fangming Ning pour Swift 4.2 , mise à jour avec une méthode Swifty recommandée et plus pour récupérer le chemin du répertoire du document et avec une meilleure documentation. Crédits à Fangming Ning pour la nouvelle méthode également.
Découvrez toutes les options d'écriture de données possibles ici.
la source
fileURLWithPath
ainsiabsoluteString
est faux.la source
Swift 4 avec extension
Exemple d'utilisation
la source
Dans Swift:
la source