gpt4 book ai didi

macos - 对 NSTableView 列的文本字段的所有值求和

转载 作者:行者123 更新时间:2023-12-04 21:33:42 24 4
gpt4 key购买 nike

我使用 swift 3,我有一个 NSTableView(3 列)。
我填写如下数据:

 func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {

var cellIdentifier = String()
var cellText = String()

switch tableColumn {
case tablewView.tableColumns[0]?:
cellText = "100"
cellIdentifier = "Cell1"
break

case tablewView.tableColumns[1]?:
cellText = "100"
cellIdentifier = "Cell2"
break

case tablewView.tableColumns[2]?:
cellText = "100"
cellIdentifier = "Cell3"
break

default: break
}

if let view = tableView.make(withIdentifier: cellIdentifier, owner: nil) as? NSTableCellView {
view.textField?.stringValue = cellText
return view
}

return nil
}

现在我想在每次选择更改时对第 1 列的所有值求和。我怎么能意识到这一点?

最佳答案

要添加值,您必须保证所有值都是数字,或者至少可以转换为数字。

之后,有必要维护一个变量来接收来自 tablewView.tableColumns[1]? 的值的增量。

前任:

var sum = 0

func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {

var cellIdentifier = String()
var cellText = String()

switch tableColumn {
case tablewView.tableColumns[0]?:
cellText = "100"
cellIdentifier = "Cell1"
break

case tablewView.tableColumns[1]?:
cellText = "100"
sum = sum + Int(cellText)
cellIdentifier = "Cell2"
break

case tablewView.tableColumns[2]?:
cellText = "100"
cellIdentifier = "Cell3"
break

default: break
}

if let view = tableView.make(withIdentifier: cellIdentifier, owner: nil) as? NSTableCellView {
view.textField?.stringValue = cellText
return view
}

return nil
}

所以,在 viewWillLayout()您可以显示 sum 的值使用一些标签的变量。

JLU。

关于macos - 对 NSTableView 列的文本字段的所有值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44159068/

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