无法分配给 属性:'desc' 是一个 'let' 常量

Cannot assign to property: 'desc' is a 'let' constant

我遇到标题中描述的错误问题 -“无法分配给 属性:'desc' 是一个 'let' 常量”。

我想将字符串变量分配给 JSON 文件中的 'desc'。 JSON 之前已下载到名为“result”的变量。

我已经关注了类似问题的答案,但我无法将解决方案应用于我的代码。

Class:

import UIKit

class informationViewController: UIViewController {

    //values received from previous view
    var semesterNumber:String?
    var dayNumber:String?
    var text_desc:String?
    var result:Data1!
    var numberRow:Int?

函数:

func saveToJsonFile(result2 : inout Data1) {

        result?.data[Int(semesterNumber!)!].monday[numberRow!].desc = "cos" //Error: Cannot assign to property: 'desc' is a 'let' constant
        
        //Coninue of exectution....
        

函数调用:

 @IBAction func isSaveClicked(_ sender: Any) {
        saveToJsonFile(result2 : &result!)
    }

Errors messages

    class infoViewController: UIViewController {
        
        var result:Data1!
        
        override func viewDidLoad() {
            saveToJsonFile(result2 : &result!)
        }
        
        func saveToJsonFile(result2 : inout Data1) {
            result2.data[1].monday[1].desc = "cos"
        }
    }
    
    struct Data1{
        var data: [Monday]
    }
    struct Monday {
        var monday: [Desc]
    }
    struct Desc{
        let desc: String
    }

如果您按上述方法尝试,您将收到“无法分配给 属性:'desc' 是一个 'let' 常量”错误。 所以需要把let改成var,因为let是不可变的

class infoViewController: UIViewController {
            
            var result:Data1!
            
            override func viewDidLoad() {
                saveToJsonFile(result2 : &result!)
            }
            
            func saveToJsonFile(result2 : inout Data1) {
                result2.data[1].monday[1].desc = "cos"
            }
        }
        
        
        struct Data1{
            var data: [Monday]
        }
        struct Monday {
            var monday: [Desc]
           
        }
        struct Desc{
            var desc: String
        }