Como usar o padrão singleton no desenvolvimento de aplicativos ios

padrões de design são maneiras formais de documentar soluções para projetar problemas- um dos padrões mais comuns usados ​​na classe Symbol é o padrão Singleton. Este padrão é utilizado no desenvolvimento do iOS e é apresentada abaixo na aplicação Tic-Tac-dedo do pé.

Video: Singleton - Padrão de Projeto

O padrão Singleton é usado na classe Symbol, observe o formato personalizado deste padrão no aplicativo Tic-Tac-Toe:

Em vez da uma instância retornada pelo padrão Singleton livro, três casos (um para cada um dos X, O, e os símbolos em branco) são permitidos na classe do símbolo. Essas instâncias são geridos pelos três métodos estáticos, ou de classe,. Um desses métodos é mostrado aqui:



+(TTTSymbol *) SymbolXCreate {@synchronized ([classe TTTSymbol]) {if (SymbolX == nil) {SymbolX = [[TTTSymbol alloc] Init] -SymbolX-gt; = valor MARKX-}}} retornar SymbolX-
  • A técnica usada no padrão Singleton para criar apenas uma instância é usado no método getBitmapForSymbol para obter as imagens para o X, O e símbolos em branco:

    Video: Padrões de Projeto - Singleton

    - (UIImage *) getBitmapForSymbol {@synchronized ([classe 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 / branco" OfType: @"png"] -imageBlank = [[UIImage alloc] initWithContentsOfFile: ImagePath] -bitMapsInitialized = true -}} UIImage * imageSelected = imageBlank-se (self == [TTTSymbol SymbolXCreate]) imageSelected = imageX-else if (self == [TTTSymbol SymbolOCreate] ) imageSelected = Imageo-retorno imageSelected-}
  • Como os aplicativos iOS podem ser multithread, Singleton é modificado para lidar com vários segmentos usando a anotação @synchronized.

    Video: Singleton secrets


  • Publicações relacionadas