在游乐场中轻松复制
import Foundation
let urlString = ""
let url = NSURL(string: urlString)
print(url)
网址的结果是(no URL)
而不是预期的nil
打印输出为Optional()
,.Some
或.None
。
我真的很想对这一点有所了解,因为它让我感到意外并导致生产代码崩溃。
答案 0 :(得分:3)
在我为此填充雷达后,我得到了以下答案:
Apple Developer Relations
空字符串是有效的URL字符串。它没有方案,没有权限(用户/密码/主机/端口),空路径,没有查询,没有片段。
所以它似乎按预期工作。
答案 1 :(得分:0)
找出答案的最佳方法是阅读文档
convenience init?(string URLString: String)
返回值
使用URLString初始化的NSURL对象。如果URL字符串格式错误,则返回nil。
<强>讨论强>
此方法要求URLString仅包含正确形成的URL中允许的字符。所有其他字符必须正确转义百分比。任何百分比转义字符都使用UTF-8编码进行解释。
所以你必须检查nil