我一直在努力解决这一问题。
我的数组中有一个double,但是它始终显示为四舍五入的整数。
var dataArray: [(colorNo: String, colour: NSColor, spares: Double)] = []
这是tableView:
func numberOfRowsInTableView(aTableView: NSTableView) -> Int {
return dataArray.count
}
}
extension ViewController: NSTableViewDelegate {
func tableView(tableView: NSTableView,
viewForTableColumn tableColumn: NSTableColumn?,
row: Int) -> NSView? {
if let column = tableColumn {
if let cellView = tableView.makeViewWithIdentifier(column.identifier, owner: self) as? NSTableCellView {
let thread = dataArray[row]
if column.identifier == "colourNo" {
cellView.textField?.stringValue = "\(thread.colourNo)"
return cellView
}
if column.identifier == "colour" {
cellView.textField?.backgroundColor = thread.colour
return cellView
}
if column.identifier == "spares" {
let val = Double(thread.spare)
cellView.textField?.doubleValue = val
return cellView
}
return cellView
}
}
return nil
}
}
这是Xcode中字段的定义:
无论何时输入十进制值...
它总是恢复为整数:
我确定它一定对外面的人来说是盲目的,但是我担心对我来说不是。
有什么想法吗?
这与您显示的任何代码均无关。 —您的单元格上有一个NumberFormatter。在字段中输入的字符串被解释为Double的方式以及Double值在界面中显示为字符串的方式取决于该格式化程序的配置。配置它以在小数点后显示内容,这就是它的作用。