Nil与预期的参数类型'String'不兼容

时间:2017-01-15 06:39:04

标签: ios swift swift3

我目前正在将我的swift 2.3代码转换为swift 3,我在以下行中收到上述错误:

setSharedPassword(nil, account: account, completion: completion)

适当的解决方案是否只是用“”代替nil?当我这样做时,错误消失了。我正在寻找解释。请帮忙。

1 个答案:

答案 0 :(得分:5)

如果您的setSharedPassword func的第一个参数属于String类型,那么您将无法将其设置为nil,因为它不是可选的。如果你想将它设置为nil,那么你可以为你的func做这样的事情:

func setSharedPassword(string: String?, account: ...)

“”之所以有效是因为它仍然是String的值,只是一个没有字符的值。

当然这个答案是假设这是你自己的功能。如果setSharedPassword不是您的,那么您需要提出一个不代表密码的字符串,或者像以前一样只提供“”。