是否有任何简短形式调用Singleton变量?
问题描述:
我有这个单例类,我需要知道如何从不同的视图控制器调用projects
变量,而不必编写长名称,例如:ProjectsManager.sharedInstance.projects
。是否有任何简短形式调用Singleton变量?
我不知道是否存在另一种方式来做到这一点。
class ProjectsManager: NSObject {
static let sharedInstance = ProjectsManager()
var projects = [Project]()
//..
}
答
继雨燕3命名约定,你可以用shared
取代sharedInstance
。这被认为是在UserDefaults.standard
,NotificationCenter.default
,UIApplication.shared
等
此外,视图控制器中你可以简单地声明属性设置为单例。
例如:
class ViewController: UIViewController {
private var projectsManager = ProjectsManager.shared
func doSomething() {
let projects = projectsManager.projects
}
// ...
}
这两种应该减少你需要每次使用单时输入的内容长度。
不,没有快捷方式的语法。 – rmaddy