Swift 无法分配类型为';无效';输入';字符串?';

Swift 无法分配类型为';无效';输入';字符串?';,swift,string,Swift,String,我有一个错误“无法将'Void'类型的值赋给'String'类型” 我的代码 原因: 您正在尝试将open(\uuquot:options:completionHandler:)的结果分配为phoneValue的文本。但是,方法open(quo:options:completionHandler:)不返回任何内容。这就是它出错的原因 解决方案: showPhone(地点:)方法应该如下: func showPhone(place: Place){ if let phone = place

我有一个错误“无法将'Void'类型的值赋给'String'类型” 我的代码


原因:

您正在尝试将
open(\uuquot:options:completionHandler:)
的结果分配为
phoneValue的
文本
。但是,方法
open(quo:options:completionHandler:)
不返回任何内容。这就是它出错的原因

解决方案:

showPhone(地点:)
方法应该如下:

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
    }
}

你的问题不清楚。哪一行实际上抛出了错误。并且停止前后抛出URL,完全跳过NSURL<代码>让urlPhone=URL(字符串:“TEL://\(phone)”)错误很明显:
UIApplication.shared.open
没有返回值。URL作为NSURL作为URL是很搞笑的。我希望我们能够点击电话链接打电话
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
    }
}