Не удается преобразовать значение типа '(_) -> ()' в ожидаемый тип аргумента '(() -> Void)?' - PullRequest
0 голосов
/ 07 мая 2018

Я переношу свой код из Swift 2 в Swift 4, однако я не уверен, почему я получаю эту ошибку:

Невозможно преобразовать значение типа '(_) -> ()' в ожидаемый тип аргумента '(() -> Void)?'

Это моя функция:

fileprivate func navigateToTagFriends(completion: @escaping (_ taggedUsers : [Athlete]?) -> Void) {
    // Tag Users when item is original content
    if self.parentContent == nil {
        self.state = .finished // Mark as finished so friends operation will execute
        if let tagController = UIStoryboard(type: .Capture).instantiateInitialViewController() as? TagViewController {
            tagController.tagCompletionBlock = { taggedUsers in
                self.presentingViewController?.dismiss(animated: true, completion: {_ in
                    if let processingView = Bundle.main.loadNibNamed("ProcessingView", owner: self, options: nil)?[0] as? UIView {
                        let size = self.presentingViewController?.view.frame.size
                        processingView.frame = CGRect(x: 0, y: 0, width: size?.width ?? 0, height: size?.height ?? 0)
                        self.processingView = processingView
                        self.presentingViewController?.view.addSubview(processingView)
                    }
                    completion(taggedUsers)

                })
            }
            tagController.cancelBlock = {
                self.presentingViewController?.dismiss(animated: true, completion: nil)
            }
            tagController.transitioningDelegate = self
            self.presentingViewController?.present(tagController, animated: true, completion: nil)
        }
    } else {
        completion(nil)
    }

}

Кто-нибудь знает, почему я получаю это и как я могу устранить ошибку?

1 Ответ

0 голосов
/ 07 мая 2018

Удалить _ in со строки:

self.presentingViewController?.dismiss(animated: true, completion: {_ in

На основе документов из dismiss обратный вызов completion не принимает никаких параметров.

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