Cómo utilizar el patrón singleton en el desarrollo de aplicaciones ios
Video: Patrón de Diseño Singleton
Los patrones de diseño son maneras formales de la documentación de soluciones a problemas-diseñar uno de los patrones más comunes utilizados en la clase de símbolos es el patrón Singleton. Este patrón se utiliza en el desarrollo de aplicaciones iOS y se presenta a continuación en la aplicación de Tic-Tac-Toe.
Video: Como aplicar el Pátron de Diseño Singleton en Java
El patrón Singleton se utiliza en la clase de símbolos, observe el formato personalizado de este patrón en la aplicación de Tic-Tac-Toe:
En lugar de la una instancia devuelto por el patrón Singleton libro de texto, tres casos (uno para cada uno de los ejes X, O, y los símbolos en blanco) son permitidos en la clase de símbolos. Estos casos son gestionados por los tres métodos estáticos, o de clase,. Uno de estos métodos se muestra aquí:
+(TTTSymbol *) SymbolXCreate {@synchronized ([clase TTTSymbol]) {if (SymbolX == nil) {SymbolX = [[alloc TTTSymbol] init] -SymbolX-gt; value = MARKX-} volver SymbolX-}}
La técnica utilizada en el patrón Singleton para crear sólo una instancia se utiliza en el método getBitmapForSymbol para obtener las imágenes para el X, O, y los símbolos en blanco:
Video: Introducción a Protocolos y Delegados
- (UIImage *) getBitmapForSymbol {@synchronized ([clase TTTSymbol]) {if {NSString * imagePath = [[NSBundle mainBundle] pathForResource (bitMapsInitialized!): @"Images.bundle / x" OfType: @"png"] -imageX = [[UIImage alloc] initWithContentsOfFile: imagePath] -imagePath = [[NSBundle mainBundle] pathForResource: @"Images.bundle / o" OfType: @"png"] -imageO = [[UIImage alloc] initWithContentsOfFile: imagePath] -imagePath = [[NSBundle mainBundle] pathForResource: @"Images.bundle / blanco" OfType: @"png"] -imageBlank = [[UIImage alloc] initWithContentsOfFile: imagePath] -bitMapsInitialized = true -}} UIImage * imageSelected = imageBlank-Si (auto == [TTTSymbol SymbolXCreate]) imageSelected = imageX-else if (auto == [TTTSymbol SymbolOCreate] ) imageSelected = Imageo-retorno imageSelected-}
Debido a aplicaciones de iOS pueden ser multiproceso, Singleton se modifica para tratar con múltiples hilos mediante el uso de la anotación @synchronized.