ImageSaver.swift 537 B

1234567891011121314151617181920
  1. import UIKit
  2. class ImageSaver: NSObject {
  3. var onResult: ((Error?) -> Void) = {_ in }
  4. init(image: UIImage, onResult: @escaping ((Error?) -> Void)) {
  5. self.onResult = onResult
  6. super.init()
  7. UIImageWriteToSavedPhotosAlbum(image, self, #selector(saveResult), nil)
  8. }
  9. @objc func saveResult(_ image: UIImage, didFinishSavingWithError error: Error?, contextInfo: UnsafeRawPointer) {
  10. if let error = error {
  11. onResult(error)
  12. } else {
  13. onResult(nil)
  14. }
  15. }
  16. }