如何制作视图控制器单例,然后使用此代码:
FacebookManager *manager = [FacebookManager sharedManager];
[manager openSessionWithAllowLoginUI:NO]
??
那不一定是单身人士。单例在任何给定时间只能有一个实例。共享实例类似,但不会阻止创建其他实例。
您可以使用静态变量和类方法实现共享实例,如下所示:
+ (FacebookManager *)sharedManager
{
static FacebookManager *shaderManager = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
shaderManager = [[FacebookManager alloc] init];
});
return shaderManager;
}
不要忘记在标题中声明类方法。