2016-12-14 86 views
0

接收錯誤:不能調用類型 '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

回答

1

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