【发布时间】:2015-10-30 09:26:45
【问题描述】:
“可选类型'String??'的值没有打开;你是不是要使用“!”要么 '?'?” -
我今天遇到了这个奇怪的编译器错误,由于String 后面的两个问号,这完全令人困惑。
我有一个字典s,类型为[String : String?],还有一个函数接受所有参数为String?s。具体来说(来自 5813 的 method 将用户选择的信息复制到字典中),我有以下的详细版本:
func combine(firstname: String?, lastname: String?) {...}
var text = combine(s["kABPersonFirstNameProperty"], lastname: s["kABPersonLastNameProperty"])
我在第二行收到错误,我想知道为什么会这样。如果s 中的值是String? 类型,那么combine() 不应该接受吗,因为它的参数应该是相同的类型?那么,为什么我会收到此错误,我该如何解决?
【问题讨论】:
标签: ios swift dictionary optional optional-parameters