gpt4 book ai didi

ios - 使用自定义 UITableViewCells 循环遍历 UITableView

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

我正在制作一个带有设置页面的应用程序,该页面设置为带有自定义单元格的 UITableView。这些单元格设置如下:

每次更改其中一个开关时,我都需要遍历这些单元格的表格。我需要检查打开了哪些开关以制作用户首选设置的数组(在这种情况下,打开的单元格将其标签添加到数组中)。这是我试图用来执行此操作的代码:

for var x = 0; x < preferredDistances.count; x++ {

var indexPath = NSIndexPath(forRow: x, inSection: 0)

let cell : SettingsCell = settingsTable.cellForRowAtIndexPath(indexPath) as! SettingsCell

if cell.settingsCellSwitch.on {
preferredDistances.append(cell.settingsCellLabel.text!)
}

}

当尝试使用此代码遍历 UITableView 时,我的单元格返回 nil。我在这段代码中做错了什么,我该如何解决?

最佳答案

您的方法存在根本性缺陷。您有责任了解启用了哪些开关。由于表格单元格被重复使用,您无法可靠地询问它们开关设置的位置。

这是另一种可能的方法:

  • 初始化 View 时(例如,在 viewDidLoad() 中),创建一个具有默认设置的数组:

    var settings = [true, false, false, false, true, false]

    此数组的长度应与您在 numberOfRowsInSection 中引用的数组的长度相同。

  • 更新 slider (由用户更改)时,更新数组中的相应项

  • cellForRowAtIndexPath中,使用数组中的相关设置来设置 slider 的值。

关于ios - 使用自定义 UITableViewCells 循环遍历 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31038361/

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