我有一个存储在类中的数组,可以从Internet下载其对象。我的课程设置如下:
class StockManager {
var managerStock: [Dictionary<String, String>] {
return downloadStockFromDatabase()
}
...
}
我从项目中的其他Swift文件中访问managerStock
,但无论我之前是否使用过该变量(即调用函数downloadStockFromDatabase),它总是会重新下载库存:
let stockManager = StockManager()
print(stockManager.managerStock)
我如何确保managerStock
只下载一次,我可以在任何文件中使用它?
答案 0 :(得分:1)
这是一个正确的软件模式使用问题。我建议:
答案 1 :(得分:1)
正如ff10和holex建议的那样,让你的班级成为单身人士。它看起来像这样:
class StockManager {
static let sharedInstance = StockManager ()
var managerStock: [Dictionary<String, String>] {
return downloadStockFromDatabase()
}
...
}
然后使用静态sharedInstance属性访问它:
print(StockManager.sharedInstance.managerStock)