不能调用类型 '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的初学者。请让我知道解决方案。
答
URL初始值设定项必须有一个参数。
基本上有两种类型:
-
的URL在文件系统
let databaseURL = URL(fileURLWithPath:"/path/to/file.ext")
-
具有显式方案的URL(例如
http
,ftp
等)let databaseURL = URL(string:"http://myserver/path/to/file.ext")!
如果URL保证有效,它可以解包(
!
)否则使用光学绑定(if let
)
URL是不可变的对象。你应该这样做:'URL(fileURLWithPath:“/ tmp/db”)' – ozgur