gpt4 book ai didi

ios - 快速写入文件(iOS)

转载 作者:行者123 更新时间:2023-11-28 13:14:07 24 4
gpt4 key购买 nike

如何在 Swift 中写入 xml 文档?我有这段代码:

let content = "<tag>Example</tag>"
var error: NSError?
content.writeToFile(NSBundle.mainBundle().pathForResource("my_file", ofType: "xml")!, atomically: true, encoding: NSUTF8StringEncoding, error: &error)

但这不会更新我的 Xcode 项目或设备上的文件。我怎样才能让它发挥作用?

最佳答案

将评论中提供的所有片段收集到一个地方:

应用程序包在 iOS 上是只读的。你不能保存它。它在 Mac OS 上并没有被强制为只读,但您仍然应该这样对待它。由于这种差异,修改应用程序包的代码可能可以在模拟器上运行,但在实际设备上会失败。

您应该将您的内容保存到用户文档目录或其他沙盒目录之一的文件中。该代码可能如下所示:

let docsPath = NSSearchPathForDirectoriesInDomains( 
NSSearchPathDirectory.DocumentDirectory,
NSSearchPathDomainMask.UserDomainMask,
true)[0] as! NSString
let filePath = docsPath.stringByAppendingPathComponent("myfile")
let content = "<tag>Example</tag>"
var error: NSError?
content.writeToFile(filePath,
ofType: "xml",
atomically: true,
encoding: NSUTF8StringEncoding,
error: &error)

然后您应该添加错误检查以检查 writeToFile 命令的 bool 结果。如果结果为 false,请检查错误以查看问题所在。

请注意,iOS 中内置了对读取 XML 的支持,并且有相当多的第三方库可以将对象集合保存为 XML 格式。您应该查看 NSXMLParser 以进行阅读。我真的不能推荐其中一个 XML 编写库而不是其他库。

如果您不熟悉 XML,您可以看看 JSON。它更紧凑、更易于编写、更易于阅读、内存占用更少,并且内置系统支持从 JSON 文件读取和写入 Cocoa 数据结构。

关于ios - 快速写入文件(iOS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29953612/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com