Sobes.tech
Junior — Middle

Můžete vysvětlit, co je snadné convenience v jazyce Swift?

sobes.tech AI

Odpověď od AI

V jazyce Swift neexistuje pojem "fácil convenience". Možná se myslelo na "convenience initializer" — pohodlný inicializátor.

Convenience initializers jsou pomocné inicializátory, které zjednodušují tvorbu objektu voláním jiných designated (hlavních) inicializátorů uvnitř třídy. Jsou deklarovány klíčovým slovem convenience a nemohou přímo inicializovat všechny vlastnosti třídy, pouze volají jiné inicializátory.

Pří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 způsobem pomáhají convenience inicializátory vytvářet objekty s různými sadami parametrů, opakovaně využívají logiku inicializace.