I've been trying to work this out for some little while now.
I've got a double in my array, but it invariably displays as a rounded integer.
var dataArray: [(colorNo: String, colour: NSColor, spares: Double)] = []
Here's the 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
}
}
and here's the definition of the field in Xcode:
Whenever I enter a decimal value...
It invariably reverts to integer:
I'm sure it must be blindingly obvious to someone out there, but I'm afraid it isn't to me.
Any ideas?