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.