gpt4 book ai didi

ios - 如何访问 Swift 中应用程序包中包含的文件?

转载 作者:IT王子 更新时间:2023-10-29 05:08:11 28 4
gpt4 key购买 nike

我知道有几个问题与此有关,但它们在 Objective-C 中。

如何在实际 iPhone 上使用 Swift 访问我的应用程序中包含的 .txt 文件?我希望能够从中读取和写入。 Here是我的项目文件,如果你想看的话。如有必要,我很乐意添加详细信息。

最佳答案

只需在应用程序包中搜索资源即可

var filePath = NSBundle.mainBundle().URLForResource("file", withExtension: "txt")

但是你不能写入它,因为它在应用程序资源目录中,你必须在文档目录中创建它才能写入它

var documentsDirectory: NSURL?
var fileURL: NSURL?

documentsDirectory = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).last!
fileURL = documentsDirectory!.URLByAppendingPathComponent("file.txt")

if (fileURL!.checkResourceIsReachableAndReturnError(nil)) {
print("file exist")
}else{
print("file doesnt exist")
NSData().writeToURL(fileURL!,atomically:true)
}

现在您可以从 fileURL 访问它

编辑 - 2018 年 8 月 28 日

这是在 Swift 4.2 中的实现方式

var filePath = Bundle.main.url(forResource: "file", withExtension: "txt")

在文档目录下创建

if let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).last {
let fileURL = documentsDirectory.appendingPathComponent("file.txt")
do {
if try fileURL.checkResourceIsReachable() {
print("file exist")
} else {
print("file doesnt exist")
do {
try Data().write(to: fileURL)
} catch {
print("an error happened while creating the file")
}
}
} catch {
print("an error happened while checking for the file")
}
}

关于ios - 如何访问 Swift 中应用程序包中包含的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37580015/

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