Eu tenho um UIImageView que permite ao usuário colocar e segurar uma imagem até que ela possa ser salva. O problema é que não consigo descobrir como salvar e recuperar a imagem que coloquei na visualização.
Eu recuperei e coloquei a imagem no UIImageView assim:
//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];
}
Ele exibe a imagem selecionada em meu UIImageView muito bem, mas não tenho ideia de como salvá-la. Estou salvando todas as outras partes da visualização (principalmente UITextfield) no Core Data. Eu pesquisei e pesquisei e tentei muitos bits de código que as pessoas sugeriram, mas ou não estou inserindo o código corretamente, ou essas sugestões não funcionam da maneira como eu tenho meu código configurado. Provavelmente é o primeiro. Gostaria de salvar a imagem no UIImageView usando a mesma ação (um botão salvar) que estou usando para salvar o texto no UITextFields. É assim que estou salvando minhas informações UITextField:
// Handle Save Button
- (void)save {
// Get Info From UI
[self.referringObject setValue:self.myInfo.text forKey:@"myInfo"];
Como eu disse antes, tentei vários métodos para fazer isso funcionar, mas não consigo entender. Pela primeira vez na vida, quis causar dano físico a um objeto inanimado, mas consegui me conter.
Eu gostaria de poder salvar a imagem que o usuário coloca no UIImageView na pasta de documentos do aplicativo e, em seguida, poder recuperá-la e colocá-la em outro UIImageView para exibição quando o usuário colocar essa visualização na pilha. Qualquer ajuda é muito apreciada!
fonte
Versão Swift 3.0
fonte
Esta é a resposta do Fangming Ning para o Swift 4.2 , atualizado com um método recomendado e mais Swifty para recuperar o caminho do diretório do documento e com melhor documentação. Créditos para Fangming Ning pelo novo método também.
Confira todas as opções de gravação de dados possíveis aqui.
fonte
fileURLWithPath
junto comabsoluteString
está errado.fonte
Swift 4 com extensão
Exemplo de uso
fonte
Em Swift:
fonte