Swift3 如何强制执行命令?

Swift3 如何强制执行命令?,swift3,Swift3,我有以下类,需要确保调用方首先调用init(): 但是,调用方不必调用init(),在这种情况下,将得到一个空数组。有没有办法强制先调用init()?或者不创建检索数组的函数而隐式执行该操作的方法 我希望调用方语法保持为MyClass.items[x]。这就是我不想做函数的原因。这似乎是一个非常脆弱的设计。为什么静态属性应该依赖于初始值设定项?!你到底想达到什么目的?对于您的问题,可能有一个很好的解决方案,但不符合给定的要求。 class MyClass: NSObject { stat

我有以下类,需要确保调用方首先调用
init()

但是,调用方不必调用
init()
,在这种情况下,将得到一个空数组。有没有办法强制先调用
init()
?或者不创建检索数组的函数而隐式执行该操作的方法


我希望调用方语法保持为
MyClass.items[x]
。这就是我不想做函数的原因。

这似乎是一个非常脆弱的设计。为什么静态属性应该依赖于初始值设定项?!你到底想达到什么目的?对于您的问题,可能有一个很好的解决方案,但不符合给定的要求。
class MyClass: NSObject {
    static var myArray:[String] = []

    init() {
       //load array
    }
}

//then flow from caller should be
MyClass.init()
let someItem = MyClass.items[2]