2017-09-05 29 views
1

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

我不知道是否存在另一种方式来做到这一点。

class ProjectsManager: NSObject { 

    static let sharedInstance = ProjectsManager() 

    var projects = [Project]() 

    //.. 

} 
+0

不,没有快捷方式的语法。 – rmaddy

回答

3

继雨燕3命名约定,你可以用shared取代sharedInstance。这被认为是在UserDefaults.standardNotificationCenter.defaultUIApplication.shared

此外,视图控制器中你可以简单地声明属性设置为单例。

例如:

class ViewController: UIViewController { 

    private var projectsManager = ProjectsManager.shared 

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

    // ... 

} 

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

相关问题