Sobes.tech
Junior — Middle

V čom spočíva rozdiel medzi deklarovaním objektu ako samostatnej inštancie a používaním objektu-kompána v rámci triedy?

sobes.tech AI

Odpoveď od AI

V jazyku Swift je objekt sprievodca implementovaný pomocou kľúčového slova static alebo class v rámci triedy, čo umožňuje vytváranie vlastností a metód spojených s samotnou triedou, nie s jej inštanciami. Toto je analógie s vzorom "Singleton" alebo statickými členmi v iných jazykoch.

  • Samostatná inštancia objektu — je konkrétny objekt vytvorený inicializáciou triedy. Každá inštancia má svoj stav a správanie.

  • Objekt sprievodca (statický objekt) — je časťou triedy, ktorá je spoločná pre všetky inštancie, a na prístup nie je potrebné vytvárať objekt.

Príklad:

class MyClass {
    static let companion = MyClass()
    var value: Int = 0
}

// Použitie
MyClass.companion.value = 10

let instance = MyClass()
instance.value = 5

Tu je companion statický sprievodca objekt, dostupný bez vytvorenia inštancie triedy, a instance je samostatná inštancia s vlastným stavom.