我想从第二个视图控制器的goButton中增加第一个视图控制器的表视图中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])
最佳答案
您需要将整个数组与索引一起发送,然后
arr[index] += 1
UserDefaults.standard.set(arr,forKey:"AllArr")
当您返回
viewWillAppear
中的firstVc时,请重新阅读arr = UserDefaults.standard.array(forKey:"AllArr") as! [Int]
同样在这里您应该使用
Int
类型var counterValue = 0 // var counterValue:Int! // var counterValue:Int?
关于swift - 单个表单元格的计数器值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54959233/