J'essaye d'obtenir par programme un identificateur column.identifier pour la cellule en cours d'édition. Je suis en train de faire en vous inscrivant mon NSViewController pour NSControlTextDidBeginEditingNotification et quand je reçois la notification je suivre les données sur l'emplacement de la souris:NSTableView détecte NSTableColumn pour la cellule sélectionnée au début de l'édition de la cellule
var selectedRow = -1
var selectedColumn: NSTableColumn?
func editingStarted(notification: NSNotification) {
selectedRow = participantTable.rowAtPoint(participantTable.convertPoint(NSEvent.mouseLocation(), fromView: nil))
let columnIndex = participantTable.columnAtPoint(participantTable.convertPoint(NSEvent.mouseLocation(), fromView: nil))
selectedColumn = participantTable.tableColumns[columnIndex]
}
Le problème que j'ai est que l'emplacement de la souris me donne les données erronées, est Il existe un moyen d'obtenir l'emplacement de la souris en fonction de l'emplacement de la table, ou pourrait-il y avoir un meilleur moyen d'obtenir cette information?
PS. Mon NSViewController est NSTableViewDelegate et NSTableViewDataSource, mon NSTableView est View Based et se connecte à un ArrayController qui se met à jour correctement, et je pourrais aller à mon objet Model et détecter les changements dans les propriétés willSet ou didSet, mais je dois détecter quand un changement est étant fait par l'utilisateur et c'est pourquoi j'ai besoin de détecter le changement avant qu'il ne se produise sur le NSTableView.