UISplitViewController Master / Detail communication

Acabo de comenzar a jugar con el UISplitViewController, he improvisado algunos códigos de varios tutoriales, pero tengo problemas para ver cómo enviar datos desde el Maestro al Detalle. Estoy creando un lector de RSS solo para ilustrarme cómo debería funcionar. He analizado una fuente RSS y poblado el MasterViewController con una UITableView, pero estoy obsesionado al descubrir cómo hacer un clic en la fila y cargar el artículo correspondiente en una UIWebView en detailViewController. Se agradecen todos los consejos.

Un buen enfoque es usar delegates. Eso permite que una vista llame a una callback proporcionada por el otro. En este caso, la vista de detalle se basa en el maestro existente, por lo que devolverlo es correcto. Evitaba dejarlos tener references directas entre sí y leer los datos de cada uno directamente.

¿Qué hace exactamente el delegado en el proyecto xcode ios?

Aquí hay un tutorial con UISplitViewController que hace exactamente eso (delegar entre maestro / detalle):

http://www.raywenderlich.com/1040/ipad-for-iphone-developers-101-uisplitview-tutorial

Específicamente esta sección:

Conectando a la izquierda con la derecha

Tiempo para jugar matchmaker y conectar estas dos caras.

Existen muchas estrategias diferentes para la mejor forma de lograr esto. En la plantilla de la aplicación Split View, le dan al controller de vista izquierda un puntero al controller de vista derecha y el controller de vista izquierda establece una propiedad en el controller de vista derecha cuando se selecciona una fila. El controller de vista derecha anula la propiedad para actualizar la vista cuando se actualiza la propiedad. Eso funciona bien, pero vamos a seguir el enfoque sugerido en la reference de la class UISplitViewController aquí: use delegates. La idea básica es que vamos a definir un protocolo con un único método: "selectedBotChanged". Nuestro lado derecho implementará este método, y nuestro lado izquierdo aceptará un delegado de alguien que quiera saber sobre esto.

Otro enfoque sería tener un model compartido, algo así como un singleton con notifications para activar diferentes vistas para actualizarse a partir de los datos de la notificación o consultar el model en reacción a los cambios de un model. A veces, esto es mejor en una aplicación con muchas vistas que no se apoyan entre sí y que simplemente burbujean datos de varias maneras (que no es el caso aquí, la vista de detalle se basa en el maestro existente, por lo que un delegado está bien).