Swift3 不写入文件

Posted

技术标签:

【中文标题】Swift3 不写入文件【英文标题】:Swift3 not writing to the file 【发布时间】:2016-10-25 04:50:30 【问题描述】:

在下面的代码中,我试图写入我在 xcode 中的项目中的文件。但对于某些问题,它不写信给它。我的文件中没有更新文本。(JSON 文件)

        responseString = "Some Text"           
        if let path = Bundle.main.path(forResource: "mapsdatademo", ofType: "json") 
            do
                try responseString.write(toFile: path, atomically: false, encoding: String.Encoding.utf8)
            catch "Error writting data"
        

我可以通过以下方式读取文件:

if let path = Bundle.main.path(forResource: "mapsdatademo", ofType: "json") 
        do 
            let data = try Data(contentsOf: URL(fileURLWithPath: path), options: .alwaysMapped)

注意:我正在尝试获取 json 数据并将其写入文件。

【问题讨论】:

How to save an array to .plist in the App's mainBundle in swift的可能重复 【参考方案1】:

ios 是沙盒的。您可以从包中读取,但不能写入。写入文档目录。

if var path = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first 
    path = path.appendingPathComponent("mapsdatademo.json")
    do
        try responseString.write(toFile: path, atomically: false, encoding: String.Encoding.utf8)
    catch "Error writting data"

【讨论】:

【参考方案2】:

你的问题是 responseString.write(toFile:)

responseString = "Some Text"
 do 
         try self. responseString.write(to: path!, atomically: true, encoding: String.Encoding.utf8)
 catch
            print(error)
 

【讨论】:

不,这不是问题的原因。

以上是关于Swift3 不写入文件的主要内容,如果未能解决你的问题,请参考以下文章

如何将图像写入文件?

如何将应用程序日志写入文件并获取它们

在 Xcode 8 和 Swift 3 中写入文本文件并在应用重新启动时保持更改 [重复]

PHP 中如何在同一个文件中写入而不覆盖以前写的内容

如何让python循环写入文档的内容不被后面写入的内容覆盖

C语言文件写入时报错,不知道问题出在哪了!