Не удается присвоить значение типа 'Void' типу 'String?' - PullRequest
0 голосов
/ 04 марта 2020

У меня ошибка "Невозможно присвоить значение типа 'Void' типу 'String?'" Мой код

       func showPhone(place: Place){
           if let phone = place.phone {
            var urlPhone: NSURL = URL(string: "TEL://\(phone)")! as NSURL
            phoneValue.text = UIApplication.shared.open(urlPhone as URL, options: [:], completionHandler: nil)
           }
           else {
                self.phoneContainer.isHidden = true
           }
       }

1 Ответ

0 голосов
/ 04 марта 2020

Причина:

Вы пытаетесь присвоить результат open(_:options:completionHandler:) как phoneValue's text. Но метод open(_:options: completionHandler:) ничего не возвращает. Вот почему он выдает ошибку.

Решение:

Метод showPhone(place:) должен быть похож на

func showPhone(place: Place){
    if let phone = place.phone {
        phoneValue.text = phone
        if let urlPhone = URL(string: "TEL://\(phone)") {
            UIApplication.shared.open(urlPhone, options: [:], completionHandler: nil)
        }
    }
    else {
        self.phoneContainer.isHidden = true
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...