gpt4 book ai didi

swift - Cocoa tableview 复选框状态在滚动时丢失

转载 作者:行者123 更新时间:2023-11-30 11:19:23 26 4
gpt4 key购买 nike

我有一个带有复选框的 View 库表格 View 。我为 nstableviewcell 创建自定义类来操作每行的复选框。

问题是当我在表格 View 中选中多个复选框并向下滚动时。然后我向后滚动,尽管所选数据位于数组中,但复选框状态消失了。

这是我的桌面 View

else if tableView.tag == 2{
if (tableColumn?.identifier)!.rawValue == "AlbumColumn" . {
if let cell: MyCustomViewCell = tableView.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "AlbumColumn"), owner: self) as? MyCustomViewCell
{
cell.AlbumCbx.state = NSControl.StateValue(rawValue: 0)
cell.AlbumCbx.title = albums[row]!
cell.onClickAlbumCbx = { sender in
if !selected_album.isEmpty{
if cell.AlbumCbx.state.rawValue == 1{
selected_album.append(albums[row]!)

} else {
selected_album = selected_album.filter({ $0 != albums[row]! })
}
}
}

return cell
}
}
}

我在google和stackoverflow上进行了搜索,找到了解决这个问题的方法:

func tableView(_ tableView: NSTableView, rowViewForRow row:Int) -> NSTableRowView? {

}

虽然我不知道如何实现这个方法。

最佳答案

我是这样写的,它很有魅力

cell.AlbumCbx.state = NSControl.StateValue(rawValue: 0)

for s in selected_album{
if cell.AlbumCbx.title == s
{
//print(true, cell.AlbumCbx.title)
cell.AlbumCbx.state = NSControl.StateValue(rawValue: 1)
}
}

关于swift - Cocoa tableview 复选框状态在滚动时丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51447689/

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