Свифт делегат не вызывается - PullRequest
0 голосов
/ 29 октября 2018

Я использую PanelKit для приложения для iOS, которое я сейчас разрабатываю.

Я настроил панель, которая является ViewController, и настроил кнопку в этом ViewController. При нажатии я хочу, чтобы изображение отображалось в другом ViewController (основной виртуальный канал, который создается при запуске приложения). Я использую делегата для этого. Тем не менее, моя функция делегата никогда не выполняется. Вот мой код:

Делегат:

protocol IMGPickerDelegate: class {
    func didFinishPicking(_ imageData: UIImage)
}

Панель ViewController:

class IMGLibraryViewController: UIViewController, PanelContentDelegate {
    weak var delegate: IMGPickerDelegate?

    @IBAction func fireButton(_ sender: Any) {
        let imageSample = UIImage(named: "sample")!
        didPickImage(imageDData: imageSample)
    }

    func didPickImage(imageDData: UIImage) {
        delegate?.didFinishPicking(imageDData)
    }

Main ViewController:

class ImageDisplayViewController: UIViewController, IMGPickerDelegate {
    @IBOutlet weak var imageDisplayViewOutlet: UIImageView!

    var imgLibrary = IMGLibraryViewController()

    func didFinishPicking(_ imageData: UIImage) {
        imageDisplayViewOutlet.image = imageData
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        imgLibrary.delegate = self
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...