【发布时间】:2017-01-04 16:56:29
【问题描述】:
现在我有一些如下所示的代码:
let msg: String? = myStr.removingPercentEncoding ?? nil
print("msg \(msg!)")
我真的不喜欢在msg! 中使用!,因为我相信这可能会引发异常。
如果 myStr 不是 nil 则调用 myStr.removingPercentEncoding 的最佳方法是什么,然后在不引发异常的情况下解开 msg?
【问题讨论】:
-
请注意,
?? nil在这种情况下是完全多余的。 -
默认情况下,
removingPercentEncoding返回一个可选字符串。应该是:let msg = myStr.stringByRemovingPercentEncoding -
@AhmadF
stringByRemovingPercentEncoding是旧的 Swift 语法 -
@shim 是的,它是 Swift 2,它返回
String?。 -
@AhmadF 是的,请仔细阅读这个问题。它是用 Swift 3 编写的。
标签: swift optional optional-binding