Maison > Article > interface Web > Instances de méthode pour définir des singletons dans Swift
Cette fois, je vais vous montrer comment définir un singleton dans Swift, et quelles sont les précautions lors de la définition d'un singleton dans Swift. Voici un cas pratique, jetons un oeil.
Qu'est-ce qu'un singleton
Le Modèle à cas unique est le plus simple parmi les Modèles de conception Même certains maîtres de modèles ne l'appellent pas un modèle, mais l'appellent une technique de mise en œuvre, car les modèles de conception prêtent attention aux objets. abstraction de la relation entre les objets, alors que le mode singleton n'a qu'un seul objet qui lui est propre.
Le modèle Singleton, également appelé modèle monade, est un modèle de conception de logiciels couramment utilisé. Lors de l'application de ce modèle, la classe d'un objet singleton doit garantir qu'une seule instance existe.
Le modèle de conception Singleton à instance unique est peut-être le modèle de conception le plus largement discuté et utilisé, et il peut également être le modèle de conception le plus fréquemment demandé lors des entretiens. L'objectif principal de ce modèle de conception est de garantir qu'une seule instance d'une classe peut apparaître dans l'ensemble du système. Bien entendu, cela est nécessaire, comme les informations de configuration globale de votre logiciel, ou d'une Usine, ou d'une classe de contrôle maître, etc.
Comment créer un singleton dans Swift
Il existe les deux manières suivantes de créer un singleton dans Swift
La voie des variables globales
let sharedNetworkManager = NetworkManager(baseURL: API.baseURL) class NetworkManager { // MARK: - Properties let baseURL: URL // Initialization init(baseURL: URL) { self.baseURL = baseURL } }
Utilisez cette variable globale pour référence
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { print(sharedNetworkManager) return true }
Statiqueattributs et privatisationMéthodes de construction
class NetworkManager { // MARK: - Properties private static var sharedNetworkManager: NetworkManager = { let networkManager = NetworkManager(baseURL: API.baseURL) // Configuration // ... return networkManager }() // MARK: - let baseURL: URL // Initialization private init(baseURL: URL) { self.baseURL = baseURL } // MARK: - Accessors class func shared() -> NetworkManager { return sharedNetworkManager } }
Appelez directement la méthode de classe pour référence
NetworkManager.shared()
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web PHP chinois !
Lecture recommandée :
Comment utiliser l'attribut on-change dans IView
Comment utiliser la configuration sass dans vue projet
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!