我尝试通过网络上的JSON加载一些数据并将其全局保存到我的应用中。
我有一个单独的swift文件
struct MyAppData {
static var vendorCol = "15"
static var vendorDel = "45"
static var VendorID = "1"
}
使用alomofire我填充它。
Alamofire.request("https://domainname/data.json").responseJSON { (responseData) -> Void in
if((responseData.result.value) != nil) {
let json = JSON(responseData.result.value!)
guard let times = json["content"]["clients"].array else {
print("No Data")
return
}
for time in times {
MyAppData.vendorCol = time["col"].string!
MyAppData.vendorDel = time["del"].string!
MyAppData.VendorID = time["id"].string!
}
}
}
如果我将它放在视图控制器上并使用MyAppData.VendorID
我的问题是我需要一个地方将数据加载到所有视图可立即使用的地方,并且只想加载一次。
我尝试在app delegate中没有成功,该函数被调用但数据从未在整个应用程序中更新。我设置的某些标签只有MyAppData
的默认值。
任何帮助都将不胜感激。