Swift 3: NSURL 到 URL 缺少初始化?

Swift 3: NSURL to URL missing init?

我刚刚使用了 XCode 8 并让它转换我现有的项目。现在我面临这样的错误,即没有参数的新 URL 没有初始化函数。

class fileObj : NSObject, NSCopying, Comparable {
    var URL                   = NSURL()    // initial
...

新代码如下所示:

class fileObj : NSObject, NSCopying, Comparable {
    var myUrl                 = Foundation.URL()    // initial
...

我应该如何初始化新的 URL 变量?

您的观察确实是正确的,没有空的初始化程序,因为这将是无效的URL,因此他们决定不允许这样做。

我建议您首先不要初始化变量并将其设为可选 (URL?)。在代码的后面,您将能够对其进行初始化。

这样做绝对零意义,但目前(Swift3,Xcode版本8.0(8A218a))它正在工作,并为您提供了一个完全空白的 URL 对象,完全没有任何用途,正如您刚刚要求的那样。

var myURL: URL = NSURLComponents().url!