不能调用类型 'URL' 初始化不带参数 - 斯威夫特3

问题描述:

接收错误:不能调用类型 'URL' 初始化不带参数 - 斯威夫特3

Cannot invoke initializer for type 'URL' with no arguments

以下是代码 -

var databasePath = URL() 

我有全局声明这个变量。也尝试过

var databasePath: URL! 
if let url = NSURL().absoluteURL { //error 1- Consecutive declarations on a line must be separated by ';' 
databasePath = url //error2 - Variable used within its own initial value 
} 

如果将上面的代码写成var databasePath = URL()的替代方法,则接收上述2个错误。

我是Swift的初学者。请让我知道解决方案。

+0

URL是不可变的对象。你应该这样做:'URL(fileURLWithPath:“/ tmp/db”)' – ozgur

URL初始值设定项必须有一个参数。

基本上有两种类型:

  • 的URL在文件系统

    let databaseURL = URL(fileURLWithPath:"/path/to/file.ext") 
    
  • 具有显式方案的URL(例如httpftp等)

    let databaseURL = URL(string:"http://myserver/path/to/file.ext")! 
    

    如果URL保证有效,它可以解包(!)否则使用光学绑定(if let