swift - 单个表格单元格的计数器值
问题描述
我想从第二个视图控制器中的 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])
解决方案
您需要将整个数组与索引一起发送然后
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?
推荐阅读
- enums - 尝试使用 Enum.reduce
- python - How can I find the optimal parameters for a function?
- reactjs - 如何在 ReactJS 的功能组件中编写 this.handle click
- c# - Function that outputs grid of controls
- javascript - 在 ajax 请求中获取特殊标签
- r - how to sum raster layer to raster stack R
- git - How to split changes in multiple linked working trees?
- csv - 如何重定向输出以更改特定的 csv 列并写入同一文件。逻辑上: awk 'BEGIN{FS=OFS=","} {$19 = $1} 1' a.csv > toSameFile
- c - How do i have my ppinter point to the new string i created
- amazon-web-services - 如何使用分布式模型将 AWS 网络防火墙集成到现有 VPC?