在NSUserDefaults
方法中从cellForRow(at:IndexPath
检索数据是内存密集型的吗?代码如下:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let recentFavorite = UserDefaults.standard.string("recentlyStoredFavorite")
if self.favorite == recentFavorite {
cell.imgForFavorite = self.imgForFavorite
}
}
或者我应该保存
UserDefaults
中viewWillAppear
的值并在cellForRow
中使用它吗?请帮助我理解这两种选择的记忆含义。
最佳答案
苹果公司称
在运行时,使用UserDefaults对象读取
你的应用程序从用户的默认数据库中使用。用户默认缓存
避免每次都必须打开用户默认数据库的信息
需要默认值的时间。
您应该“确定”在cellForRow中检索信息,因为它可能位于内存中的字典(假设)中,由您提供的密钥获取,但是对于vadian来说,您可以将其放在模型或属性中,并消除假设。
另外,考虑该数据是否会被另一个进程更改,以及是否需要遵守UserDefaults键。
关于ios - 在Swift中访问cellForRow(at:IndexPath)中的NSUserDefaults,内存使用情况,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52612704/