2016-10-02 26 views
4

在夫特2,我可以從somefile.txt如下面的代碼加載數據沒有問題:在Swift 3中,如何解決有關參數標籤的錯誤與String類型的任何可用重載不匹配?

Argument labels '(contentsOfURL:)' do not match any available overloads 

如何:

let fileManager = FileManager.default 
let urls = fileManager.urls(for: .applicationSupportDirectory, in: .userDomainMask) 
let appDataURL = urls.last.appendingPathComponent("appData") 

let fileDestinationUrl = appDataURL!.appendingPathComponent("somefile.txt") 

var dataString = "" 
do { 
    dataString = try String(contentsOfURL: fileDestinationUrl) //<-- error here 
    print("dataString=\(dataString)") 
} catch let error as NSError { 
    print("Failed reading data in appData Directory, Error: \(error.localizedDescription)") 
} 

然而,在夫特3,的XCode說給出在線路dataString = try String(contentsOfURL: fileDestinationUrl)錯誤修復這個錯誤?什麼是正確的方式來閱讀Swift 3中的文本文件?

+1

你也可以隨時重新鍵入String('讓XCode顯示所有可能的初始值設定項,通常你應該能夠找出使用哪一個:) – Keiwan

+0

我發現自動完成的作品可能有20%的時間。 : - / – stuckj

回答

2

這種方法已經被更新爲(在您的示例的上下文中):

dataString = try String(contentsOf: fileDestinationUrl) 

在夫特3中,所有功能PARAMS現在有標籤除非另外特別定義。這在實踐中通常意味着方法名稱的最後部分移動到第一個參數標籤。

相關問題