Avatar ·

Utilisation du pattern Singleton avec dispatch_once en Swift

Bonjour à tous ! Je viens de commencer à apprendre Swift et j'essaie d'implémenter le pattern Singleton pour une classe qui gérera les paramètres de l'application. En Objective-C, j'avais l'habitude d'utiliser `dispatch_once` pour garantir que l'initialisation n'ait lieu qu'une seule fois de manière thread-safe. Voici un exemple de comment je faisais avant : ```objc + (instancetype)sharedInstance { static MyClass *sharedInstance = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ sharedInstance = [[MyClass alloc] init]; }); return sharedInstance; } ``` En Swift, je vois beaucoup d'exemples sur Internet, mais ils utilisent souvent différentes approches : constantes globales, `private init`, structures avec `static let`. Ce qui me trouble, c'est que `dispatch_once` en Swift 3+ est déclaré comme deprecated. Comment faire correctement ?