Junior — Middle
Meg tudná magyarázni, mi az az easy convenience a Swift nyelvben?
sobes.tech MI
Válasz az MI-től
Swiftben nincs "fácil convenience" fogalom. Lehet, hogy a "convenience initializer" — kényelmes inicializáló — ra utal.
A convenience inicializálók segéd inicializálók, amelyek megkönnyítik egy objektum létrehozását úgy, hogy más designated (fő) inicializálókat hívnak meg az osztályon belül. A convenience kulcsszóval vannak deklarálva, és nem képesek közvetlenül minden tulajdonságot inicializálni az osztályban, csak más inicializálókat hívnak.
Példa:
class Person {
var name: String
var age: Int
// Fő inicializáló
init(name: String, age: Int) {
self.name = name
self.age = age
}
// Convenience inicializáló
convenience init(name: String) {
self.init(name: name, age: 0) // meghívja a fő inicializálót
}
}
Így a convenience inicializálók segítenek különböző paraméterkészletekkel objektumokat létrehozni, újrahasznosítva az inicializálási logikát.