NSURL 失败初始化器 initWithString:在 Swift 中的空字符串上不返回 nil

Pet*_*her 1 nsurl swift

在 Playground 中很容易重现

import Foundation

let urlString = ""

let url = NSURL(string: urlString)

print(url)
Run Code Online (Sandbox Code Playgroud)

URL的结果是不知何故(no URL)而不是预期的nil 和打印输出Optional(),既没有.Some.None

我真的很想对此有所了解,因为它让我感到惊讶并导致生产代码崩溃。

Pet*_*her 5

在为此填充雷达后,我得到了以下答案:

苹果开发者关系

空字符串是有效的 URL 字符串。它没有方案,没有权限(用户/密码/主机/端口),一个空路径,没有查询,没有碎片。

所以它似乎按预期工作。