Lo que se considera la mejor manera de manejar múltiples NSTableViews sin utilizar enlaces de cacao?mejor manera de manejar múltiples NSTableView (s)
En mi aplicación, tengo dos NSTableViews que están lo suficientemente relacionados que utilizo el mismo objeto que el delegado y dataSource para ambos. El problema es que tanto tableViews invocan los mismos métodos. Actualmente discrimino entre los dos tableViews en base a NSControl -tag.
Cuanto más profundo me meto en este código, más feo es el uso de -tag. Termino creando código en gran parte duplicado para distinguir entre los tableViews en cada método delegado/dataSource. El código termina siendo claramente no orientado a objetos.
Podría crear un objeto separado para manejar uno u otro tableView, pero la creación de dicho objeto sería una construcción en gran parte artificial solo para proporcionar un delegado/dataSource distinto.
Está todo el mundo simplemente utilizando cacao Vinculaciones ahora? Estoy evitando Enlaces porque me gustaría perfeccionar mis habilidades de Cocoa en técnicas transferibles entre Mac OS y iPhone.
Actualmente estoy usando el método NSControl -tag, enviado al argumento tableView que usted señala, para distinguir entre tableViews . Usar -tag parece un poco más definitivo que usar el argumento tableView en sí, ya que tendría que comparar el argumento con algo para determinar el tableView. –
Sí, normalmente también tendrá los enchufes configurados en IB desde su controlador a las vistas de la tabla de todos modos, por lo que puede comparar la vista de tabla pasada con sus puntos de venta para determinar cuál es cuál. –
Esta es la mejor manera de manejarlo. Los métodos de delegado en Cocoa siempre incluyen el objeto de envío por esta misma razón. Si te estás repitiendo a ti mismo, trata de factorizar ese código en un método privado. –