Junior — Middle
Môžete vysvetliť, čo je easy convenience v jazyku Swift?
sobes.tech AI
Odpoveď od AI
V jazyku Swift neexistuje pojem "fácil convenience". Možno je, že sa myslelo na "convenience initializer" — pohodlný inicializátor.
Convenience initializers sú pomocné inicializátory, ktoré zjednodušujú tvorbu objektu volaním iných designated (hlavných) inicializátorov v rámci triedy. Sú deklarované kľúčovým slovom convenience a nemôžu priamo inicializovať všetky vlastnosti triedy, iba volať iné inicializátory.
Príklad:
class Person {
var name: String
var age: Int
// Hlavný inicializátor
init(name: String, age: Int) {
self.name = name
self.age = age
}
// Convenience inicializátor
convenience init(name: String) {
self.init(name: name, age: 0) // volá hlavný inicializátor
}
}
Týmto spôsobom pomáhajú convenience inicializátory vytvárať objekty s rôznymi sadami parametrov, opakovane využívajú logiku inicializácie.