Ios 单亲swift的难度

Ios 单亲swift的难度,ios,swift,singleton,Ios,Swift,Singleton,我正在尝试在我的swift应用程序中使用singleton。 我有一个我在Objective中使用的类,现在我在swift中使用它,使用桥接头 在singleton类中,这里是我的代码 SharedManger.h文件 SharedManger.m文件 在viewcontroller.swift中 问题: 所以这是swift中的正确方法,还是有更好的方法? 编辑: 故事板层次结构是navbar->loginVC->VC1->VC2 正如@Schemetral所说的……我使用他的方法作为singl

我正在尝试在我的swift应用程序中使用singleton。 我有一个我在Objective中使用的类,现在我在swift中使用它,使用桥接头

在singleton类中,这里是我的代码

SharedManger.h文件

SharedManger.m文件

在viewcontroller.swift中

问题:

所以这是swift中的正确方法,还是有更好的方法? 编辑: 故事板层次结构是navbar->loginVC->VC1->VC2 正如@Schemetral所说的……我使用他的方法作为singleton……当我来自loginVC时,它工作得很好,我可以从singleton访问数据。。。。
但在一次登录后,我的根视图控制器发生变化,来自VC1,此时它显示空的单例…为什么会这样?

Swift 1.2使创建单例变得非常容易。静态实例将只初始化一次,dictObject将可供其他类检索

class SharedManager {

    static let sharedInstance = SharedManager()

    var dictObject = // some default value

}

Swift 1.2使创建单例变得非常容易。静态实例将只初始化一次,dictObject将可供其他类检索

class SharedManager {

    static let sharedInstance = SharedManager()

    var dictObject = // some default value

}

好的…所以我只需要制作一个.swift文件而不是我的2个objectiveC文件是的。默认情况下,在您的项目范围内,所有变量都是可用的,但您可以选择将它们设置为私有或公共。您能重新表述一下吗?我想让您重复上一个问题,因为我不明白您想说什么,我有viewcontroller.swift文件…那么我是否在其中编写了正确的代码?好的…所以我只需要制作一个.swift文件而不是我的2个objectiveC文件是的。默认情况下,在您的项目范围内,所有变量都是可用的,但您可以选择将它们设置为私有或公共。您能重新措辞吗?我想让您重复上一个问题,因为我不明白您想说什么。u。如前所述,我有viewcontroller.swift文件…那么我是否在其中编写了正确的代码?
 class var sharedInstance: viewcontroller {
    struct Static {
        static var onceToken: dispatch_once_t = 0
        static var instance: viewcontroller? = nil
    }
    dispatch_once(&Static.onceToken) {
        Static.instance = viewcontroller()
    }
    return Static.instance!
}

func sharedManager()->SharedManager{
    return SharedManager.sharedInstance()
}
class SharedManager {

    static let sharedInstance = SharedManager()

    var dictObject = // some default value

}