如何在 Swift 2 中为 Dictionary 创建合适的单例

How to create a proper singleton for Dictionary in Swift 2

我有以下代码

class Test: UIViewController {
  var imagesOfChef = [Int : chefImages]()
    struct chefImages {
          var objidChef: String!
          var imageChef: UIImage!
      }

}

用户一打开应用程序,我就填这本词典。 但我希望它也可以在其他视图中使用(swift 文件)

让我们在这个class

class Test2: UIViewController{

}

我如何为该词典创建单例以便其他视图可以使用它?

感谢您的宝贵时间!

您可以使用静态 属性:

static var imagesOfChef = [Int : chefImages]()

然后你使用:

Test.imagesOfChef 

但我建议尽可能避免使用静态方法,如果 Test 有 Test2,您可以使用 prepare segue 或从外部分配 属性。

StackOverlow 上有很多关于如何创建单例的示例。

无论如何,你的代码应该是这样的

struct Chef {
    let id: String
    let image: UIImage
}

final class Singleton {
    static let sharedInstance = Singleton()
    private init() { }        
    var dict = [Int: Chef]()
}

现在您可以在应用的任何来源中使用它

Singleton.sharedInstance.dict[1] = Chef(id: "1", image: UIImage())