-1

Singleton クラスは、一度に 1 つのオブジェクトしか作成できないクラスです。

私の質問は次のとおりです。

1. Objective-C でのシングルトン クラスの使用は何ですか?

2.作成したシングルトン クラスを作成して使用する方法は?

4

3 に答える 3

12

通常、プロジェクト全体に何かを公開する場合、または何かへの単一のエントリ ポイントが必要な場合は、Singleton を使用します。写真アプリケーションがあり、写真をUIViewControllers含む配列にアクセスする必要があるとします。それらの写真への参照を持つシングルトンを持つことは意味があるかもしれません(ほとんどの場合そうではありません)。

簡単な実装については、こちらを参照してください。そして、次のようになります。

+ (id)sharedManager
{
  static id sharedManager;
  static dispatch_once_t once;
  dispatch_once(&once, ^{
    sharedManager = [[self alloc] init];
  });
  return sharedManager;
}

このパターンを実装する他の方法については、こちらを参照してください

Swift 2.1 では次のようになります。

class Manager {

    static let sharedManager = Manager()
    private init() { }
}
于 2013-04-25T06:45:57.723 に答える
7

シングルトンは、現在のプロセスに対してクラスのインスタンスが 1 つだけ存在する特別な種類のクラスです。iPhone アプリの場合、1 つのインスタンスがアプリ全体で共有されます。

これらのチュートリアルをご覧ください:

http://pixeleap.com/?p=19

http://www.codeproject.com/Tips/232321/Implement-Objective-C-Singleton-Pattern

http://xcodenoobies.blogspot.in/2012/08/how-to-pass-data-between.html

http://www.johnwordsworth.com/2010/04/iphone-code-snippet-the-singleton-pattern/

http://www.idev101.com/code/Objective-C/singletons.html

そして、このビデオチュートリアル:

http://www.youtube.com/watch?v=FTfEN8KQPK8

于 2013-04-25T07:07:40.697 に答える
3

ここに例とチュートリアルがあります: http://www.galloway.me.uk/tutorials/singleton-classes/

ここに別のものがあります:Objective Cでシングルトンクラスを作成する方法

Singleton には、グローバル変数とグローバル関数が含まれています。手動でデータを渡すことなく、コードのさまざまな部分間でデータを共有するための非常に強力な方法です。

于 2013-04-25T06:41:30.197 に答える