如何使用swift将一个类对象复制到另一个类对象

时间:2016-11-29 08:56:44

标签: ios xcode swift3

我创建了两个类,如下面的

class Person: NSObject {

var ID : String?
var firstName : String?
var lastName : String?

override init() {
    super.init()
}

convenience required init?(personID : String, firstNameValue : String, lastNameValue : String) {
    self.init()
    self.ID = personID
    self.firstName = firstNameValue
    self.lastName = lastNameValue
}}

class ListItem: NSObject {

var ID : String?
var value : String?

override init() {
    super.init()
}

convenience required init?(itemID : String, itemValue : String) {
    self.init()
    self.ID = itemID
    self.value = itemValue
}}

现在在我的viewController类中,我有一个Person类数组,并希望将其转换为ListItem类的数组。 有人请告诉我如何使用Swift做到这一点。

1 个答案:

答案 0 :(得分:0)

您可以使用flatMap将一种类型的对象映射到另一种对象:

let listItemList = personList.flatMap({ ListItem(itemID: $0.ID ?? "unknown", itemValue: "\($0.firstName ?? "") \($0.lastName ?? "")")})