Как я могу решить эту ошибку: нераспознанный селектор отправлен на экземпляр (LongPress onUIImageView) - PullRequest
1 голос
/ 14 мая 2019

причина: '- [HMIS_ios.ImageViewerVController longPressed:]: нераспознанный селектор отправлен в экземпляр 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.
    }

Я хочу сохранить изображение в галерее с помощью UILongPressGestureRecognizer

1 Ответ

0 голосов
/ 14 мая 2019

Изменить

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

на

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

Изменить didFinishSavingWithError метод, подобный этому

@objc func image(_ image: UIImage, didFinishSavingWithError error: NSError?, contextInfo: UnsafeRawPointer) {
    if let error = error {
        print(error.localizedDescription)
    } else {
        print("image saved")
    }
}
...