1

reason: '-[HMIS_ios.ImageViewerVController longPressed:]: unrecognized selector sent to instance 0x7fe865576d70'

class ImageViewerVController: UIViewController {

@IBOutlet weak var ImageViewer: UIImageView!
var pass = ""
override func viewDidLoad() {
    super.viewDidLoad()
    print("URL:" + pass)
    self.ImageViewer.sd_setImage(with: URL(string:"\(pass)"))

    ImageViewer.isUserInteractionEnabled = true
    let longPressRecognizer = UILongPressGestureRecognizer(target: self, action: Selector(("longPressed:")))
    longPressRecognizer.minimumPressDuration = 0.5
    self.ImageViewer.addGestureRecognizer(longPressRecognizer)
}



@objc func longPressed(sender: UILongPressGestureRecognizer) {
        UIImageWriteToSavedPhotosAlbum(ImageViewer.image!, self, Selector(("image:didFinishSavingWithError:contextInfo:")), nil)
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

I want to Save Image in Gallery using UILongPressGestureRecognizer

Alastar
  • 1,284
  • 1
  • 8
  • 14
Jr Dev
  • 33
  • 8

1 Answers1

0

Change

let longPressRecognizer = UILongPressGestureRecognizer(target: self, action: Selector(("longPressed:")))
UIImageWriteToSavedPhotosAlbum(ImageViewer.image!, self, Selector(("image:didFinishSavingWithError:contextInfo:")), nil)

to

let longPressRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(longPressed(sender:)))
UIImageWriteToSavedPhotosAlbum(ImageViewer.image!, self, #selector(image(_:didFinishSavingWithError:contextInfo:)), nil)

Change didFinishSavingWithError method like this

@objc func image(_ image: UIImage, didFinishSavingWithError error: NSError?, contextInfo: UnsafeRawPointer) {
    if let error = error {
        print(error.localizedDescription)
    } else {
        print("image saved")
    }
}
RajeshKumar R
  • 15,445
  • 2
  • 38
  • 70
  • Still it is not working. "does not respond to selector image:didFinishSavingWithError:contextInfo:'" – Jr Dev May 14 '19 at 08:00