首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >写入文件不工作(Swift 4)

写入文件不工作(Swift 4)
EN

Stack Overflow用户
提问于 2017-10-08 14:09:55
回答 1查看 9.6K关注 0票数 2

我开始学习Swift编程。到目前为止,我已经开发了我的第一个工作应用程序。虽然很简单,但它是非常有用的。但是随着Swift 4和XCode 9的引入,我面临着一些头疼的问题。现在,我正在尝试编写一小部分代码来将字符串写入文件,如下所示:

代码语言:javascript
复制
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就会在调用中显示“额外参数‘原子化’的错误。请注意,这正是它所建议的结构。到目前为止,我还没有找到任何解决办法。有人能帮我吗?”

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-08 14:26:12

这个错误是误导性的。编码参数是错误的

代码语言:javascript
复制
try myText.write(to: path!, atomically: true, encoding: .utf8)

不要在Swift 3+中使用NSURL,使用本机URL

代码语言:javascript
复制
let url = URL(fileURLWithPath: ...

不过,我建议这样做。

代码语言:javascript
复制
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)
}
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46632009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档