У меня есть UIImageView, который позволяет пользователю размещать и удерживать изображение, пока оно не будет сохранено. Проблема в том, что я не могу понять, как на самом деле сохранить и получить изображение, которое я поместил в представление.
Я получил и поместил изображение в UIImageView следующим образом:
//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];
}
Он отлично отображает выбранное изображение в моем UIImageView, но я понятия не имею, как его сохранить. Я сохраняю все остальные части представления (в основном UITextfield) в Core Data. Я искал и искал, и пробовал много фрагментов кода, которые предлагали люди, но либо я неправильно ввожу код, либо эти предложения не работают с тем, как я настроил свой код. Скорее всего, первое. Я хотел бы сохранить изображение в UIImageView, используя то же действие (кнопку сохранения), которое я использую для сохранения текста в UITextFields. Вот как я сохраняю информацию о UITextField:
// Handle Save Button
- (void)save {
// Get Info From UI
[self.referringObject setValue:self.myInfo.text forKey:@"myInfo"];
Как я уже сказал ранее, я пробовал несколько способов заставить это работать, но не могу понять этого. Впервые в жизни я хотел причинить физический вред неодушевленному предмету, но мне удалось сдержаться.
Я хотел бы иметь возможность сохранить изображение, которое пользователь помещает в UIImageView в папке документов приложения, а затем иметь возможность извлекать его и помещать в другой UIImageView для отображения, когда пользователь помещает это представление в стек. Любая помощь приветствуется!
источник
Версия Swift 3.0
источник
Это ответ Fangming Ning для Swift 4.2 , обновленный рекомендованным и более Swifty методом для получения пути к каталогу документов и лучшей документацией. Благодарим Fangming Ning и за новый метод.
Ознакомьтесь со всеми возможными вариантами записи данных здесь.
источник
fileURLWithPath
вместе сabsoluteString
неправильно.источник
Swift 4 с расширением
Пример использования
источник
В Swift:
источник