我已经考虑过空合并,如果允许的话,到目前为止还没有什么好主意的?
var habitResults: [[String:String]]? = resultsFilteredByHabit[habitId]
if habitResults != nil {
// No action required
}
else {
habitResults = results.filter({ $0["habitId"] == habitId })
resultsFilteredByHabit[habitId] = habitResults
}
答案 0 :(得分:4)
Swift中通常的延迟加载模式语法是
lazy var habitResults : [[String:String]] = {
return results.filter{ $0["habitId"] == habitId }
}()
第一次访问变量时,一次执行关闭操作
答案 1 :(得分:1)
我认为这看起来更优雅:
addEventListener('mouseover', hovercolor, false)