オブジェクト配列からプロパティ値の配列を取得する 質問する

オブジェクト配列からプロパティ値の配列を取得する 質問する

というクラスがあります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 でこれをどうやって実現するのでしょうか?

ベストアンサー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 }

おすすめ記事