从类数组创建一个新的String数组

时间:2017-09-12 12:09:46

标签: arrays swift3

我有一个名为Person的课程:

class Person {

    var firstName: String?
    var lastName: String?
    let birthPlace = "Belgium"

}


let person = [Person]()

现在问题是我希望将所有名字都放到String数组([String])中,我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以使用flatMap

let firstName = person.flatMap{ return $0.firstName }

答案 1 :(得分:0)

首先,您应该重写Person课程。 firstNamelastName不应该是可选的,因为每个人都有名字和姓氏,除非您的应用专门针对出生在比利时的人制作,硬编码为{{1也是一个坏主意。

花点时间为班级写一个初始化器。

birthPlace

您可以使用class Person { var firstName: String var lastName: String let birthPlace: String init(firstName: String, lastName: String, birthPlace: String){ self.firstName = firstName self.lastName = lastName self.birthPlace = birthPlace } } map个对象中获取一系列名字。

Person