我想使用类名访问特定的对象。此对象可能会更改,因此不是单身。
像:
MyClass.actualView
或
MyClass.actualView()
由于我认为class var are not yet supported
是一个错误,你脑子里有什么好的简短方法吗?
答案 0 :(得分:0)
我使用了全局变量和计算出的类型属性。仅支持常量类型属性。
private var globalVar: MyClass? = nil
class MyClass {
internal class var sharedInstance : MyClass {
get {
return globalVar
set {
globalVar = newValue
}
}
}
在使用它之前,必须从任何实例设置它:
MyClass.sharedInstance = self
现在,我可以在所有其他语言中设置和获取类型属性,直到Apple使其更容易并支持常量类型属性。
我可以从项目内的任何位置获取sharedInstance(当您在@objc
- 关键字
internal
时,甚至可以从Objective-C访问
MyClass.sharedInstance
[MyClass sharedInstance];