UIImageに表示した画像をLibraryに保存し、保存先のURLを指定する事で再度画像を表示したい、と思っています。
●UIImageに表示した画像をLibraryに保存し、保存先のURLをfileURLに格納
let image2 = info[.originalImage] as! UIImage imageView.image = image2 let libraryPath = NSHomeDirectory() + "/Library" let filename = "image1" fileURL = libraryPath + "/" + filename let pngImageData = image2.pngData() do { try pngImageData!.write(to: URL(fileURLWithPath: fileURL!), options: .atomic) } catch { print(error) }
●URLで指定した画像を表示
let image = UIImage(contentsOfFile: fileURL) imageView.image = image! if image == nil { print("missing image at: \(url)") }
「fileURL = libraryPath + "/" + filename」の後と「let image = UIImage(contentsOfFile: fileURL)」の前で、「print(fileURL)」で同じURLが入力されていることを確認しました。
/Users/*****/Library/Developer/CoreSimulator/Devices/7B5F8511-395B-41F6-9BC2-2039E8A5E30B/data/Containers/Data/Application/046A5AB1-0531-4C36-90F9-CC930DBFC9A8/Library/image1
Library内にimage1が保存されていることを確認しました。
「imageView.image = image!」で表示されると思うのですが、どこが間違っているのかがわかりません。
開発環境は、Xcode10.1、Swift4.2です。
あなたの回答
tips
プレビュー