首页 > 解决方案 > 单个表格单元格的计数器值

问题描述

我想从第二个视图控制器中的 goButton 增加第一个视图控制器的 tableview 中 countArray 的值,然后使用 UserDefaults 使其持久化。以下是第二个视图控制器的代码

    @IBOutlet weak var counterLabel: UILabel!
@IBOutlet weak var chartLabel: LineChartView!
//label
var counterValue = float_t()

override func viewDidLoad() {
    super.viewDidLoad()
    print(counterValue)
    //print(UserDefaults.standard.dictionaryRepresentation())
}


@IBAction func goButton(_ sender: UIButton) {
    counterValue = counterValue + 1
    UserDefaults.standard.set(counterValue, forKey: "CounterValue")
    counterLabel.text = "\(counterValue)"
}

第一个视图控制器中的数组是

let countArray = [10,20,30,40]

我已经使用它发送到第二个 vc

New.counterValue = float_t(countArray[indexPath.row])

标签: swift

解决方案


您需要将整个数组与索引一起发送然后

arr[index] += 1 
UserDefaults.standard.set(arr,forKey:"AllArr")

当你回到 firstVc 中viewWillAppear重新阅读它时

arr = UserDefaults.standard.array(forKey:"AllArr") as! [Int]

同样在这里你应该使用一个Int类型

var counterValue = 0 // var counterValue:Int! // var counterValue:Int?

推荐阅读