¿Por qué las vistas de tabla de iOS usan métodos de delegado cuando las vistas de tabla de macOS usan enlaces?

A veces, las cosas de macOS y iOS son muy similares. A veces son muy diferentes. Las tablas son una de las diferentes. Las tablas de iOS son una serie unidimensional de celdas de vista. En macOS obtienes una cuadrícula bidimensional. Sin embargo, definitivamente puede usar solo delegados para tablas de macOS (lo he hecho para una tabla simple). Mire NSTableViewDataSource y NSTableViewDelegate.

Los enlaces son geniales, pero hay pocas posibilidades de que alguna vez lleguen a iOS. ¡Son anteriores a iOS y aún no lo han logrado! También son un buen ejemplo de “cuando funciona, es increíble, cuando no funciona, es difícil de depurar”. Puede salirse con la suya si los quiere. O puedes aprender cómo funcionan (como dije que son geniales), obtienes mucha potencia del código cero (en realidad cero, puedes hacer todo el trabajo en InterfaceBuilder). Si su modelo de datos está estructurado adecuadamente (como, por ejemplo, CoreData es …).

Puede usar métodos delegados en Mac para tablas. Los enlaces son opcionales para separar mejor los datos y la lógica de la vista.

Al menos al principio, los dispositivos iOS eran mucho menos capaces que Mac y Apple tuvo que eliminar cierta complejidad de macOS para que funcione mejor.

Los enlaces son en su mayoría opcionales en macOS, no los uso mucho, demasiado opacos para mi gusto …

Puede usar delegados y fuentes de datos para NSTableView y, en general, creo que es un enfoque más fácil que los enlaces.