是否有任何简短形式调用Singleton变量?

时间:2017-09-05 19:11:08

标签: swift singleton

我有这个单例类,我需要知道如何从不同的视图控制器调用projects变量而不必编写长名称,例如:ProjectsManager.sharedInstance.projects

我不知道是否存在另一种方法。

class ProjectsManager: NSObject {

     static let sharedInstance = ProjectsManager()

     var projects = [Project]()

     //..

}

1 个答案:

答案 0 :(得分:3)

遵循Swift 3命名约定,您可以将sharedInstance替换为shared。这可以在UserDefaults.standardNotificationCenter.defaultUIApplication.shared等中看到。

此外,在视图控制器中,您只需声明一个属性设置为该单例。

例如:

class ViewController: UIViewController {

    private var projectsManager = ProjectsManager.shared

    func doSomething() {
        let projects = projectsManager.projects
    }

    // ...

}

这两个都应该减少每次使用单身时需要输入的内容的长度。