【发布时间】:2019-05-12 11:03:16
【问题描述】:
当我尝试在数组中附加元素时,会显示错误。这是代码。
func saveRecentSearch() {
var dictSearch = [String:Any]()
if let onJourney = Global.onWordJ {
dictSearch["From"] = onJourney.source
dictSearch["Fromid"] = Global.onWordJ?.source?.CM_CityID
dictSearch["To"] = Global.onWordJ?.destination
dictSearch["Toid"] = Global.onWordJ?.destination?.CM_CityID
}
if let onJourney = Global.returnJ {
dictSearch["todate"] = onJourney.journeyDate!
}
var arr = [[String:Any]]()
if let arrSearch = UserDefault["Search"] {
DispatchQueue.main.async {
arr.append(arrSearch as! [String : Any])
arr.append(dictSearch)
}
} else {
arr.append(dictSearch)
}
UserDefault["Search"] = arr
}
我在我的 cellForRowAt indexPath tableView 方法中调用了这个函数。
【问题讨论】:
-
什么是
UserDefault? -
UserDefaults.Standard
-
显示您在
UserDefaults中存储“搜索”键字典的代码。 -
为什么在
cellForRow中调用这个函数?cellForRow被非常频繁地调用并且该函数与任何indexPath无关。因此,相同的代码被执行了很多次。那是相当低效的。 -
好的。我改变那对不起。但是错误的原因是什么?