Sagen wir, ich diese Klasse haben:Zusammenführen mehrerer Eigenschaften der Objekte in einer
class Person {
var firstName: String!
var lastName: String!
var phoneNumber: String?
var email: String?
var address: String?
}
Jetzt instanziiert ich dies:
let person1 = Person()
person1.firstName = "Nicolas"
person1.lastName = "Cage"
person1.phoneNumber = "999-999-999"
person1.address = "No 123, NYC"
let person2 = Person()
person2.firstName = "Nicolas"
person2.lastName = "Cage"
person2.phoneNumber = "123-1234-1234"
person2.address = "No 123, NYC"
person2.email = "[email protected]"
let person3 = Person()
person3.firstName = "John"
person3.lastName = "Travolta"
Und ich habe dieses Array:
let actors: [Person] = [person1, person2, person3]
Wie Kann ich duplizierte Personen kombinieren/zusammenführen, wenn keine Konflikte bestehen, und die Liste widersprüchlicher Eigenschaften enthalten?
Erwartete Eigenschaftswerte von Nicoals Cage
nach merge:
Nicolas
Cage
phoneNumber -> Conflict
No 123, NYC
[email protected]
es ist ein Fehler in dieser Zeile 'person1.phoneNumber =„123-1234-1234“' -> Notwendigkeit person2 – Daivest
Ziehen Sie bitte an Verwenden Sie keine implizit unverpackten optionalen Eigenschaften, um das Schreiben von Initialisierern zu vermeiden. Wenn 'firstName' und' lastName' immer nicht-nil sein sollten (wie die Namen der meisten Leute!), Sollten Sie sie als nicht-optional definieren und einen Initialisierer für sie schreiben. – Hamish