我开始学习Swift编程。到目前为止,我已经开发了我的第一个工作应用程序。虽然很简单,但它是非常有用的。但是随着Swift 4和XCode 9的引入,我面临着一些头疼的问题。现在,我正在尝试编写一小部分代码来将字符串写入文件,如下所示:
let fileName = "myFile.txt"
let path = NSURL(fileURLWithPath:
NSTemporaryDirectory()).appendingPathComponent(fileName)
var myText = "Some text to write to file"
do {
try myText.write(to: path!, atomically: true, encoding: UTF8)
} catch {
// Handle error
}当我编写myText.write时,XCode建议使用上述语法,但在我选择它并填充占位符之后,XCode就会在调用中显示“额外参数‘原子化’的错误。请注意,这正是它所建议的结构。到目前为止,我还没有找到任何解决办法。有人能帮我吗?”
发布于 2017-10-08 14:26:12
这个错误是误导性的。编码参数是错误的
try myText.write(to: path!, atomically: true, encoding: .utf8)不要在Swift 3+中使用NSURL,使用本机URL
let url = URL(fileURLWithPath: ...不过,我建议这样做。
let fileName = "myFile.txt"
let url = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(fileName)
let myText = "Some text to write to file"
let data = Data(myText.utf8)
do {
try data.write(to: url, options: .atomic)
} catch {
print(error)
}https://stackoverflow.com/questions/46632009
复制相似问题