Junior — Middle
Ar galite paaiškinti, kas yra easy convenience Swift kalboje?
sobes.tech AI
Atsakymas iš AI
Swift kalboje nėra sąvokos "fácil convenience". Galbūt turima omenyje "convenience initializer" — patogus inicializatorius.
Convenience initializers yra pagalbiniai inicializatoriai, kurie supaprastina objekto kūrimą kviesdami kitus designated (pagrindinius) inicializatorius klasėje. Jie deklaruojami su raktiniu žodžiu convenience ir tiesiogiai negali inicializuoti visų klasės savybių, tik kviesdami kitus inicializatorius.
Pavyzdys:
class Person {
var name: String
var age: Int
// Pagrindinis inicializatorius
init(name: String, age: Int) {
self.name = name
self.age = age
}
// Convenience inicializatorius
convenience init(name: String) {
self.init(name: name, age: 0) // kviečia pagrindinį inicializatorių
}
}
Taip convenience inicializatoriai padeda kurti objektus su skirtingais parametrais, pakartotinai naudojant inicializacijos logiką.