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 ?