我在一个程序中有一个函数从本地目录加载JSON文件,但是我试图让这个函数更加“万无一失”,以防其中一个JSON文件丢失(我试图如果找不到JSON,它会崩溃。我想知道是否有可能做类似的事情:
“如果它不在本地目录中,请从X-web目录下载,如果离线则只省略它”
以下是我的代码现在的样子:
func loadStash{
for var sourceFile in STASHES_SELECTED
{
let stashUrl = Bundle.main.url(forResource: sourceFile, withExtension: "JSON")
do {
let json = try? Data(contentsOf: stashUrl!)
let stashLoad = try JSONDecoder().decode([StashStyle].self, from: json!)
loadedStashes += stashLoad
} catch {
print("**THERE WAS AN ERROR!!**")
print(error)
}
}
}
注意:loadedStashes是一个Structures(StashStyle)数组,它越来越大,加载(成功)的stashes越多。
STASHES_SELECTED是一个包含每个JSON文件的文件名的字符串数组