我想从第二个视图控制器的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])
答案 0 :(得分:0)
您需要将整个数组连同索引一起发送
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?