Playgrounds - 如何保存文件?未经许可

问题描述 投票:0回答:0

在 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“不允许操作”}}

我可以和应该做什么?

macos swift-playground
© www.soinside.com 2019 - 2024. All rights reserved.