¿Cómo paso datos entre pantallas en mis aplicaciones Apple Watch?

Una aplicación de Apple Watch es diferente de su contraparte de iPhone en la forma en que los datos se envían entre pantallas. Descubre cómo hacerlo en este tutorial.

Antes de seguir este tutorial, es posible que desee completar la primera parte de la serie sobre cómo trabajar con segmentos en una aplicación de Apple Watch. Cubro diferentes formas de navegar entre pantallas en tu aplicación.

El primer método:

1. La segunda pantalla creada en el último tutorial aún no tiene su propio View Controller, por lo que tendremos que crear uno antes de poder hacer nada. Botón derecho del ratón en la carpeta de la extensión de WatchKit, elija Nuevo archivo -> iOS -> Fuente -> Cocoa Touch Class.

2. Nombre el nuevo controlador, conviértalo en una subclase de WKInterfaceControllery haga clic en Siguiente -> Crear.

3. Vaya al guión gráfico, seleccione la segunda pantalla, cambie al inspector de identidad y configure la clase en el controlador de interfaz recién creado.

4. Repita los pasos anteriores para crear un nuevo archivo swift en blanco bajo la carpeta de la extensión de WatchKit. Una vez que se agrega el archivo, crear una nueva clase, agregue una propiedad de cadena y establezca su método init como tal.

5. Volver a la InterfaceController.swift archivo, cree una nueva variable de tipo TechRecipes dentro del método buttonPressed (o cualquier método adjunto al botón en el guión gráfico). Finalmente, pase la nueva variable en el parámetro de contexto de cualquiera pushControllerWithName o presentControllerWithName método.

6. Cambie al archivo de controlador de interfaz de la segunda pantalla. Bajo la despierta con contexto Método, verifique si el contexto es de tipo TechRecipes y asígnelo a la constante TechRecipes. Si funciona, imprimimos la propiedad authorName.

El segundo método:

Para los segmentos creados en el guión gráfico, solo tienes que anular el contextForSegueWithIdentifier método.

1. Cambie al guión gráfico, selecciona el segue, y dale un único identificador en el panel Utilidades.

2. En el archivo de código, agregue el contextForSegueWithIdentifier Método, y verifique si el SegueIdentifier es igual al identificador único que acaba de agregar. Si es así, devuelve una nueva instancia de la clase TechRecipes. De lo contrario, devuelve nil.

3. Consulte el Paso 6 del primer método para ver cómo puede obtener los datos del otro extremo.