gpt4 book ai didi

swift - 快速添加时变量没有改变

转载 作者:行者123 更新时间:2023-11-28 11:57:52 25 4
gpt4 key购买 nike

目前,我正试图做到这一点,当单击表格 View 中的单元格时,它会添加到一个变量中。虽然,当我在运行应用程序时打印变量时,无论我点击一个单元格多少次,它都会再次打印 10。

这是我的第二个 tableView 的代码{

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
//Used to track the number of times the the second tableView was tapped

if (tableView == secondTable){
//Function to disable the timer from being used if timer is running
if isTimerRunning == true {

}else{

var tableView2Taps = 0

//Transfer data to variable to the timer
selectedindex = indexPath.row

if (selectedindex == 0){
seconds = 3600
secondsreset = 3600
tableView2Taps += 10

}
if (selectedindex == 1){
seconds = 2700
secondsreset = 2700
tableView2Taps += 10
}
if (selectedindex == 2){
seconds = 1800
secondsreset = 1800
tableView2Taps += 10
}
if (selectedindex == 3){
seconds = 1200
secondsreset = 1200
tableView2Taps += 10
}
if (selectedindex == 4){
seconds = 600
secondsreset = 600
tableView2Taps += 10

}
print(tableView2Taps)


}

//Prevents the user from changing settings when the timer is running
if isTimerRunning == false{

if tableView.cellForRow(at: indexPath)?.accessoryType == UITableViewCellAccessoryType.checkmark{

tableView.cellForRow(at: indexPath)?.accessoryType = UITableViewCellAccessoryType.none

}else{
tableView.cellForRow(at: indexPath)?.accessoryType = UITableViewCellAccessoryType.checkmark}
}

}

最佳答案

您遇到了范围问题。每次用户选择一行时,您都在声明 tableView2Taps

您需要在 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) 方法之外声明 tableView2Taps 变量。

像这样:

var tableView2Taps = 0

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
...
}

这样做,tableView2Taps 成为一个实例变量,即使在 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) 结束后,该值也会被保留。

关于swift - 快速添加时变量没有改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50590677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com