Swift 无法分配类型为';无效';输入';字符串?';
我有一个错误“无法将'Void'类型的值赋给'String'类型” 我的代码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
原因: 您正在尝试将
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
}
}