【发布时间】:2016-12-16 20:58:38
【问题描述】:
我正在尝试将数组保存到 UserDefaults,但在运行应用程序后会显示此 Error。当应用程序崩溃时,Xcode 会显示正确的数组值,因此数据会很好地保存到数组中。 我将字符串数据保存到第一个 VC 中的数组中:
Last20Times.insert(dsa, at: 0) // Last20Times is the array.
if Last20Times.count > 0 {
let defaults = UserDefaults.standard
defaults.set(Last20Times, forKey: "last20")
第二个控制器是 TableView:
if indexPath.section == 1 {
let ArrayLast20 = UserDefaults.standard.stringArray(forKey: "last20")
cell.textLabel?.text = ArrayLast20?[indexPath.row]// error(picture)
}
return cell
谢谢
【问题讨论】:
-
错误发生在哪一行?控制台中显示了什么?
-
您不会认真地从
cellForRow中的用户默认值中获取数据,不是吗?用户默认值不应该用于保存临时数据。通过 segue 或协议/委托或块传递数据。 -
@vadian 这是游戏的一部分,我将他最近的 20 个结果保存到 Tableviewcontroller 中
-
@Sweeper 控制台显示包含正确元素的数组,我在我的问题中标记了错误行
标签: arrays swift nsuserdefaults