在 macOS 13 上使用 Playgrounds 4.3,我正在尝试将文件(在本例中为 JSON 文件)保存到磁盘。
作为示例,我使用此代码,因此它应该可以工作,但不能在 Playgrounds 中使用。 是否有我应该设置或使用的设置来完成这项工作?
import Foundation
struct Driver: Codable {
let name: String
let ownsCar: Bool
let license_code: String?
init(name: String, ownsCar: Bool, license_code: String? = nil) {
self.name = name
self.ownsCar = ownsCar
self.license_code = license_code
}
}
class Drivers {
let filePathURL = URL(fileURLWithPath: "/Users/la/JSON/JSONTestFile.json")
var data: Driver = Driver(name: "Picard", ownsCar: true)
func readFromFile(filePathURL: URL) throws {
let readData = try Data(contentsOf: filePathURL)
self.data = try JSONDecoder().decode(Driver.self, from: readData)
}
func writeToFile(filePathURL: URL) throws {
let jsonData = try JSONEncoder().encode(self.data)
try jsonData.write(to: filePathURL)
}
}
let drivers: Drivers = Drivers()
do {
try drivers.writeToFile(filePathURL: drivers.filePathURL )
}
catch {
print("Error saving file at path: \(drivers.filePathURL) with error: \(error)")
}
结果错误为:
在路径中保存文件时出错:file:///Users/la/JSON/JSONTestFile.json 错误:Error Domain=NSCocoaErrorDomain Code=513 “你没有 在文件夹“JSON”中保存文件“JSONTestFile.json”的权限。 UserInfo={NSFilePath=/Users/la/JSON/JSONTestFile.json, NSUnderlyingError=0x7f88474252b0 {错误域=NSPOSIXErrorDomain 代码=1“不允许操作”}}
我可以和应该做什么?