Swift - Singleton Pattern: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „Singletons sind Eigenschaften einer Klasse, die in allen Instanzen der Klasse gleich sind. Wenn man den Wert in einer Instanz ändert, sind auch alle anderen I…“)
(kein Unterschied)

Version vom 24. Januar 2023, 14:57 Uhr

Singletons sind Eigenschaften einer Klasse, die in allen Instanzen der Klasse gleich sind. Wenn man den Wert in einer Instanz ändert, sind auch alle anderen Instanzen betroffen.

Daher kann man sie nutzen, wenn man über alle Instanzen immer auf den gleichen Wert zugreifen will, egal wo sich die Instanz befindet.

<syntaxhighlight lang="swift"> import UIKit

/**

With the singleton pattern you can share properties through all instances of a class
*/

/**

Normally all properties of a class are independent of each other...
*/

class Car{

   var color = "red"

}

var aCar = Car() aCar.color = "blue" var bCar = Car() // aCar is blue, bCar ist red

/**

With singleton pattern you create a instance of the class itself
as a property of the class
*/

class Ship{

   var color = "red"
   static let singletonShip = Ship()

} var aShip = Ship.singletonShip var bShip = Ship.singletonShip // now aShip and bShip hold a reference to the SAME object bShip.color = "pink" print(aShip.color) // pink print(bShip.color) // pink

// Singletons are used in Swift ie // UserDefaults.defaults

</syntaxhighlights>