Come faccio a passare i dati tra gli schermi nelle app di Apple Watch?

Un'app Apple Watch è diversa dalla sua controparte iPhone nel modo in cui i dati vengono inviati tra le schermate. Scopri come farlo in questo tutorial.

Prima di seguire questo tutorial, potresti voler completare la prima parte della serie su come lavorare con segues in un'app Apple Watch. Copro diversi modi per navigare tra gli schermi nella tua app.

Il primo metodo:

1. La seconda schermata creata nell'ultimo tutorial non ha ancora il proprio View Controller, quindi dovremo crearne uno prima di poter fare qualsiasi cosa. Pulsante destro del mouse nella cartella Extension di WatchKit, scegli Nuovo file -> iOS -> Sorgente -> Cocoa Touch Class.

2. Assegna un nome al nuovo controller, rendilo una sottoclasse di WKInterfaceControllere fare clic Avanti -> Crea.

3. Vai allo storyboard, seleziona la seconda schermata, passa a Identity inspector e imposta la classe sul controller dell'interfaccia appena creato.

4. Ripetere i passaggi precedenti per creare un nuovo file swift vuoto sotto la cartella Extension di WatchKit. Una volta aggiunto il file, creare una nuova classe, aggiungi una proprietà stringa e imposta il suo metodo init in questo modo.

5. Torna al InterfaceController.swift file, crea una nuova variabile di tipo TechRecipes all'interno del pulsante Metodo stampato (o qualsiasi metodo collegato al pulsante nello storyboard). Infine, passa la nuova variabile nel parametro di contesto di entrambi pushControllerWithName o presentControllerWithName metodo.

6. Passare al file del controller dell'interfaccia del secondo schermo. Sotto il awakeWithContext metodo, controlla se il contesto è di tipo TechRecipes e assegnalo alla costante techrecipes. Se funziona, stampiamo la proprietà authorName.

Il secondo metodo:

Per i folletti creati nello storyboard, devi solo ignorare il contextForSegueWithIdentifier metodo.

1. Passa allo storyboard, seleziona il seguitoe dargli un aspetto unico identificatore nel pannello Utilità.

2. Nel file di codice, aggiungere il contextForSegueWithIdentifier metodo, e controllare se followIdentifier è uguale all'identificatore univoco che hai appena aggiunto. Se lo è, restituisci una nuova istanza della classe TechRecipes. Altrimenti, ritorna nil.

3. Fare riferimento al passaggio 6 del primo metodo per vedere come è possibile ottenere i dati dall'altra estremità.