Как сохранить изображение в каталоге документов и получить его в Swift - PullRequest
0 голосов
/ 03 мая 2018

Я создаю приложение для захвата фотографий и сохранения его вместе с некоторыми UITextField данными.

Я использовал основные данные для хранения UITextField данных и работает нормально, но я не могу сохранить изображения с использованием основных данных.

Я сделал снимок и передал его на следующий контроллер просмотра для предварительного просмотра, а оттуда мне нужно сохранить и перейти к контроллеру домашнего просмотра, чтобы отобразить изображение с соответствующими UITextField данными в UITableViewCell.

Все отлично работает для UITextField для сохранения и извлечения в UITableViewCell, но не может сохранять и извлекать изображения.

1 Ответ

0 голосов
/ 03 мая 2018

Если вы все еще не можете понять, вот фрагмент кода, удачи

func saveImageToDocumentDirectory(image: UIImage ) {
    let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
    let fileName = "image001.png" // name of the image to be saved
    let fileURL = documentsDirectory.appendingPathComponent(fileName)
    if let data = UIImageJPEGRepresentation(image, 1.0),!FileManager.default.fileExists(atPath: fileURL.path){
        do {
            try data.write(to: fileURL)
            print("file saved")
        } catch {
            print("error saving file:", error)
        }
    }
}


func loadImageFromDocumentDirectory(nameOfImage : String) -> UIImage {
    let nsDocumentDirectory = FileManager.SearchPathDirectory.documentDirectory
    let nsUserDomainMask = FileManager.SearchPathDomainMask.userDomainMask
    let paths = NSSearchPathForDirectoriesInDomains(nsDocumentDirectory, nsUserDomainMask, true)
    if let dirPath = paths.first{
        let imageURL = URL(fileURLWithPath: dirPath).appendingPathComponent(nameOfImage)
        let image    = UIImage(contentsOfFile: imageURL.path)
        return image!
    }
    return UIImage.init(named: "default.png")!
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...