ビューコントローラーシングルトンを作成して、このコードを使用するにはどうすればよいですか:
FacebookManager *manager = [FacebookManager sharedManager];
[manager openSessionWithAllowLoginUI:NO]
??
それは必ずしもシングルトンではありません。シングルトンは、一度に 1 つのインスタンスしか持つことができません。共有インスタンスも同様ですが、追加のインスタンスの作成を妨げません。
次のように、静的変数とクラス メソッドを使用して共有インスタンスを実装できます。
+ (FacebookManager *)sharedManager
{
static FacebookManager *shaderManager = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
shaderManager = [[FacebookManager alloc] init];
});
return shaderManager;
}
ヘッダーでクラス メソッドを宣言することを忘れないでください。