我考虑过零合并,如果让,到目前为止似乎没有什么了不起的,有什么想法吗?
var habitResults: [[String:String]]? = resultsFilteredByHabit[habitId]
if habitResults != nil {
// No action required
}
else {
habitResults = results.filter({ $0["habitId"] == habitId })
resultsFilteredByHabit[habitId] = habitResults
}
最佳答案
swift中常见的延迟加载模式语法是
lazy var habitResults : [[String:String]] = {
return results.filter{ $0["habitId"] == habitId }
}()
在第一次访问变量时执行一次闭包
关于swift - 有没有一种更优雅的方法可以在Swift中编写这种惰性加载模式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54610671/