从类名访问一个特定对象?

时间:2014-08-12 18:43:48

标签: static swift

我想使用类名访问特定的对象。此对象可能会更改,因此是单身。

像:

MyClass.actualView

MyClass.actualView()

由于我认为class var are not yet supported是一个错误,你脑子里有什么好的简短方法吗?

1 个答案:

答案 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

目标C:

[MyClass sharedInstance];