我开始学习 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
}
Run Code Online (Sandbox Code Playgroud)
当我编写 myText.write 时,XCode 建议使用上述语法,但在我选择它并填充占位符之后,XCode 显示错误“调用中的额外参数‘原子’。请注意,这是它建议的结构。我没有”直到现在才找到任何解决方法。有人可以帮助我吗?
该错误具有误导性。编码参数错误
try myText.write(to: path!, atomically: true, encoding: .utf8)
Run Code Online (Sandbox Code Playgroud)
不要NSURL在 Swift 3+ 中使用,使用 native URL:
let url = URL(fileURLWithPath: ...
Run Code Online (Sandbox Code Playgroud)
不过我推荐这种方式
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)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8477 次 |
| 最近记录: |