Comment puis-je transmettre des données entre les écrans dans mes applications Apple Watch?

Une application Apple Watch est différente de son homologue iPhone en ce qui concerne la manière dont les données sont envoyées entre les écrans. Découvrez comment le faire dans ce tutoriel.

Avant de suivre ce didacticiel, vous souhaiterez peut-être terminer la première partie de la série sur la façon de travailler avec des divisions dans une application Apple Watch. Je couvre différentes manières de naviguer entre les écrans de votre application.

La première méthode:

1. Le deuxième écran créé dans le dernier tutoriel n'a pas encore son propre View Controller. Nous devrons donc en créer un avant de pouvoir faire quoi que ce soit. Clic-droit dans le dossier WatchKit Extension, choisissez Nouveau fichier -> iOS -> Source -> Cocoa Touch Class.

2. Nommez le nouveau contrôleur, faites-en une sous-classe de WKInterfaceControlleret cliquez Suivant -> Créer.

3. Accédez au scénario, sélectionnez le deuxième écran, passez à l'inspecteur d'Identité et définissez la classe sur le contrôleur d'interface nouvellement créé.

4. Répétez les étapes ci-dessus pour créer un nouveau fichier swift vierge sous le dossier WatchKit Extension. Une fois le fichier ajouté, créer une nouvelle classe, ajoute une propriété de chaîne et définit sa méthode init comme suit.

5. Retournez à la InterfaceController.swift fichier, créez une nouvelle variable de type TechRecipes dans la méthode buttonPressed (ou n’importe quelle méthode attachée au bouton dans le storyboard). Enfin, passez la nouvelle variable dans le paramètre context de soit pushControllerWithName ou presentControllerWithName méthode.

6. Basculez vers le fichier de contrôleur d'interface du deuxième écran. Sous le awakeWithContext méthode, vérifiez si le contexte est de type TechRecipes et affectez-le à la constante techrecipes. Si cela fonctionne, nous imprimons la propriété authorName.

La deuxième méthode:

Pour les séquences créées dans le storyboard, il vous suffit de remplacer le contextForSegueWithIdentifier méthode.

1. Basculez vers le storyboard, sélectionnez la segueet lui donner un caractère unique identifiant dans le panneau Utilitaires.

2. Dans le fichier de code, ajoutez le contextForSegueWithIdentifier méthode et vérifiez si le segueIdentifier est égal à l'identifiant unique que vous venez d'ajouter. Si tel est le cas, retournez une nouvelle instance de la classe TechRecipes. Sinon, renvoyez nil.

3. Référez-vous à l'étape 6 de la première méthode pour voir comment vous pouvez obtenir les données de l'autre extrémité.