一尘不染

从对象数组获取属性值数组

swift

有一个叫的课程Employee

class Employee {

    var id: Int
    var firstName: String
    var lastName: String
    var dateOfBirth: NSDate?

    init(id: Int, firstName: String, lastName: String) {
        self.id = id
        self.firstName = firstName
        self.lastName = lastName
    }
}

而且我有一系列Employee对象。我现在需要id将数组中所有这些对象的s 提取到新数组中。

我也发现了类似的问题。但是它在Objective-C中,因此可以valueForKeyPath用来完成此任务。

如何在Swift中执行此操作?


阅读 435

收藏
2020-07-07

共1个答案

一尘不染

您可以使用map方法,将某种类型的数组转换为另一种类型的数组-在您的情况下,从的数组转换Employee为的数组Int

var array = [Employee]()
array.append(Employee(id: 4, firstName: "", lastName: ""))
array.append(Employee(id: 2, firstName: "", lastName: ""))

let ids = array.map { $0.id }
2020-07-07