deep copy for array of objects in swift

后端 未结 4 1379
死守一世寂寞
死守一世寂寞 2020-12-09 00:05

I have this class named Meal

class Meal {
    var name : String = \"\"
    var cnt : Int = 0
    var price : String = \"\"
    var img : String = \"\"
    va         


        
4条回答
  •  不知归路
    2020-12-09 00:45

    A simple and quick way is to map the original array into the new copy:

    let copyOfPersons: [Person] = allPersons.map({(originalPerson) -> Person in
            let newPerson = Person(name: originalPerson.name, age: originalPerson.age)
            return newPerson
        })
    

    The new Persons will have different pointers but same values.

提交回复
热议问题