ビデオ: OpenInChrome on iOS, Part 3 (Route 85) 2024
デザインパターンは、問題を設計するためのソリューションを文書化する正式な方法です。 Symbolクラスで使用される最も一般的なパターンの1つがシングルトンパターンです。このパターンは、iOSアプリケーションの開発で使用され、以下でTic-Tac-Toeアプリケーションに示されています。
シンクルトンパターンはSymbolクラスで使用され、Tic-Tac-Toeアプリケーションでこのパターンのカスタマイズされたフォーマットに注目してください。
-
テキストブックシングルトンパターンによって返される1つのインスタンスではなく、3つのインスタンスX、O、および空白のシンボル)は、Symbolクラスで使用できます。これらのインスタンスは、3つの静的メソッドまたはクラスメソッドによって管理されます。これらの方法の1つをここに示します。
<! (SymbolX == nil){SymbolX = [[TTTSymbol alloc] init]; - (TTTSymbolクラス) Singletonパターンで1つのインスタンスのみを作成するために使用されるテクニックは、getBitmapForSymbolメソッドで、X、O、および空白のシンボルのイメージを取得するために使用されます。 > "(NSBundle mainBundle)pathForResource:@" Images。bundle / x "ofType:@" png "]; - (UIImage *)getBitmapForSymbol {@synchronized([TTTSymbolクラス]){if(!bitMapsInitialized) 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 / blank" ofType:@ "png"]; imageBlank = [[UIImage alloc] initWithContentsOfFile:imagePath]; bitMapsInitialized = true;}} UIImage * imageSelected = imageBlank; if(self == [TTTSymbol SymbolXCreate])imageSelected = imageX;そうでなければif(self == [TTTSymbol SymbolOCreate])imageSelected = imageO; iOSアプリケーションはマルチスレッド化できるので、シンクロナイズされたアノテーションを使用して複数のスレッドを処理するようにシングルトンが変更されています。<! - 2 - >