我使用
let url = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group....")?.appendingPathComponent("hello")
let data = Data("289".utf8)
try! data.write(to: url!)
let url2 = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.co...")?.appendingPathComponent("mannschaft")
let data2 = Data("114".utf8)
try! data2.write(to: url2!)在文件中写入一些数据。
稍后,我在不同的swift文件上使用这两个文件:
let teamId: String = {
let url = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.co....")?.appendingPathComponent("hello")
let data = try! Data(contentsOf: url!)
let string = String(data: data, encoding: .utf8)!
return string
}()和
let vergleichmannschaft: String = {
let url = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.co...")?.appendingPathComponent("mannschaft")
let data = try! Data(contentsOf: url!)
let string = String(data: data, encoding: .utf8)!
return string
}()去读它。但是模拟器发出刺耳的声音,说:Thread 1: Fatal error: 'try!' expression unexpectedly raised an error: Error Domain=NSCocoaErrorDomain Code=260 "The file “mannschaft” couldn’t be opened because there is no such file." UserIn
"hello“有效,但"mannschaft”无效
发布于 2020-10-17 03:07:42
除非您确信try!永远不会失败,否则您永远不应该使用它。您需要确保该文件存在于该位置,或者返回一个emptyString。您还应该将其设置为计算属性。在获取文件内容之前,请确保您已经创建了文件。顺便说一下,您应该将".txt" pathExtension添加到您的文本文件名中:
var vergleichmannschaft: String {
guard let url = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.co...")?.appendingPathComponent("mannschaft.txt") else {
return ""
}
return (try? String(contentsOf: url,encoding: .utf8)) ?? ""
}https://stackoverflow.com/questions/64394890
复制相似问题