ios - 单例 View Controller

标签 ios xcode

我怎样才能制作一个 View Controller 单例,然后使用这段代码:

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;
}

不要忘记在标题中声明类方法。

关于ios - 单例 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13460252/

相关文章:

Xcode 12 - Storyboard屏幕显示为空/黑色(使用 m1 macbook)

swift - 使用 MaterialComponents 框架时出现 "Image not found"错误

ios - didUpdatePushCredentials 没有被调用

ios - NSBlockOperation EXC_BAD_ACCESS

ios - Swift - 如何正确使用委托(delegate)

ios - swift SpriteKit : How to make an horizontal moving slider larger than screen

ios - 方法确实在父 View Controller 中调用,但方法内部的逻辑从不执行任何操作

xcode - 如何在Xcode 4中进行远程调试?

xcode - 如何从我的自定义框架中删除 header ?

ios - 导出 ipa 文件失败