Accueil Médias sociaux Comment utiliser la notation d'objet Java Script dans iOS Apps - dummies

Comment utiliser la notation d'objet Java Script dans iOS Apps - dummies

Vidéo: Tutoriel jQuery : Ajax avec jQuery 2025

Vidéo: Tutoriel jQuery : Ajax avec jQuery 2025
Anonim

La notation JavaScript Object Notation (JSON) est devenue la norme de facto en termes de représentation des données dans les applications iOS. Vous pouvez utiliser JSON pour transférer des données sur le Web et pour enregistrer et récupérer des données de longue durée. JSON est à la fois lisible par l'homme et facile à comprendre pour les machines. Les données dans JSON peuvent être dans l'une des deux structures suivantes:

  • Un objet comprenant un ensemble non-ordonné de paires nom-valeur. Chaque nom-valeur correspond à un attribut de l'objet. Chaque paire nom-valeur peut être imbriquée, dans le cas où l'attribut représenté est de nature hiérarchique.

  • Un tableau ordonné de valeurs. Chaque valeur du tableau peut être un scalaire (une valeur booléenne, une chaîne ou une valeur numérique), un objet ou un tableau.

Dans Tic-Tac-Toe, JSON représente l'état d'une partie. Cet état comprend les éléments suivants:

  • Le joueur actuel (joueur 1 ou joueur 2) est représenté par un entier (0 pour le joueur 1 et 1 pour le joueur 2).

  • L'état du jeu - actif ou complet; si c'est complet, que ce soit gagné ou dessiné; et si gagné, par qui.

    Les états sont également représentés comme des entiers, avec Inactive étant -1, Active étant 0, Won étant 1, et Draw étant 2.

  • L'état de la grille - c'est-à-dire quels symboles sont présents dans chacun des carrés de la grille. Notez que les symboles sont représentés par les valeurs entières 0, 1 et 2, qui correspondent à Blank, X et O, respectivement.

  • Le symbole actuel (celui qui sera joué au prochain mouvement). Ici (et juste pour varier l'exemple), nous représentons le symbole comme la chaîne "X" ou la chaîne "O" ou un blanc ("").

  • Le nombre de parties jouées (le nombre de coups effectués sur le point actuel du jeu) est représenté par un nombre entier.

Dans ce code, nous montrons l'objet JSON correspondant à un jeu Tic-Tac-Toe actif:

{"TTTGameKeyCurrentPlayer": 0, "TTTGameKeyState": 0, "TTTGameKeyGridState": "2, 1, 2, 2, 1, 0, 1, 2, 1 "," TTTGameKeyCurrentSymbol ":" X "," TTTGameKeyPlaycount ": 8}

JSON correspond facilement aux structures de données disponibles (telles que tableau, structures et objets) dans à peu près tous les langages de programmation. La forme d'objet de JSON mappe facilement aux objets ou aux structures de langage de programmation, tandis que la forme de tableau de JSON peut être mappée à un tableau, un vecteur, une liste ou une séquence, quelle que soit la structure des données.

Dans Tic-Tac-Toe, l'objet JSON correspondant à l'état du jeu est mappé à un NSDictionary, car un objet NSDictionary est également constitué de paires de valeurs de nom imbriquées.Par conséquent, lorsque vous devez enregistrer l'état du jeu, vous obtenez son état en tant qu'objet NSDictionary, puis le convertissez en une chaîne JSON.

Lorsque vous récupérez l'état du jeu, vous faites le contraire: vous lisez les données JSON et les convertissez en objet NSDictionary, puis utilisez le NSDictionary pour restaurer le jeu à l'état sauvegardé.

L'exemple suivant montre cette conversion d'un objet de dictionnaire à JSON et de l'objet de données JSON à une chaîne (de la méthode saveGame dans le contrôleur de vue de session de jeu - fichiers TTTGameSessionViewController.m et.h):

- (IBAction) saveGame: (id) expéditeur {NSDictionary * savedGameDictionary = [activeGame toDictionary]; Erreur NSError *; NSData * jsonData = [NSJSONSerialization dataWithJSONObject: options savedGameDictionary: erreur NSJSONWritingPrettyPrinted: & erreur]; NSString * savedGameString = [[NSString alloc] initWithData: codage jsonData: NSUTF8StringEncoding]; NSString * savedGamesFilePath = [NSHomeDirectory () stringByAppendingPathComponent: @TTTGAMESESSIONSAVEDFILEPATH]; [savedGameString writeToFile: savedGamesFilePath atomiquement: YES encoding: Erreur NSUTF8StringEncoding: NULL];}

La méthode importante ici est dans la méthode dataWithJSONObject de la classe NSJSONSerialization.

Vous pouvez voir l'opération inverse (c'est-à-dire d'une chaîne JSON vers un NSDictionary) dans la méthode restoreGame dans le même contrôleur de vue:

- (IBAction) restoreGame: (id) expéditeur {NSLog (@ "Restaurer Jeu"); … NSError * restoreError = nil; NSMutableDictionary * savedDictionary = [Options NSJSONSerialization JSONObjectWithData: [savedGameString dataUsingEncoding: NSUTF8StringEncoding]: erreur NSJSONReadingMutableContainers: & restoreError]; activeGame = [[TTTGame alloc] initFromDictionary: savedDictionary]; TTTGameGrid * gameGrid = [jeuActif getGameGrid]; if (! [activeGame isActive]) [boardView disableInput]; [boardView setGrid: gameGrid]; [gameView redraw];}

Ici, la méthode clé est JSONObjectWithData, qui effectue l'opération inverse de création du NSDictionary Objective-C à partir de données JSON.

Comment utiliser la notation d'objet Java Script dans iOS Apps - dummies

Le choix des éditeurs

Comment travailler avec Photoshop CS6 Images brutes - mannequins

Comment travailler avec Photoshop CS6 Images brutes - mannequins

Certaines caméras capturent des images dans des formats bruts. Photoshop CS6 peut traiter ces images dans des images formatées. Il vous permet également de travailler avec eux de différentes manières que les images déjà traitées. Voici quelques détails sur le traitement des images brutes par Photoshop. Préférences Camera Raw: Voici les détails de ces préférences: Quand une Camera Raw ...

Comment utiliser Photoshop CC Fusionner vers HDR Pro - mannequins

Comment utiliser Photoshop CC Fusionner vers HDR Pro - mannequins

Lorsque vous avez les expositions de que vous voulez créer votre chef-d'œuvre HDR, vous devez les assembler en utilisant la fonction Fusionner vers HDR Pro dans Photoshop CC. Vous pouvez ouvrir Merge to HDR Pro soit dans le menu Fichier → Automatiser de Photoshop, soit vous pouvez sélectionner les images à utiliser dans Bridge et utiliser Bridge ...

Comment utiliser les masques rapides dans Photoshop CS6 - les mannequins

Comment utiliser les masques rapides dans Photoshop CS6 - les mannequins

Comme vous pouvez probablement le deviner d'après le nom , Les masques rapides de Photoshop CS6 vous permettent de créer et de modifier des sélections rapidement. Bien que vous ne créiez pas vraiment un masque de produit final en soi, la façon dont vous allez obtenir votre sélection est "semblable à un masque. "Ils sont également conviviaux, car ils vous permettent de voir votre image pendant que vous travaillez. ...

Le choix des éditeurs

Bitmap et images vectorielles dans Adobe Photoshop CS5 - mannequins

Bitmap et images vectorielles dans Adobe Photoshop CS5 - mannequins

Capacité de photoshop Creative Suite 5 à utiliser à la fois l'image bitmap et Les images vectorielles vous offrent, en tant que concepteur, des opportunités incroyables en combinant les deux technologies. Vous avez peut-être déjà découvert que Photoshop fonctionne un peu différemment de la plupart des autres applications. Pour créer ces gradations douces d'une couleur à l'autre, Photoshop tire parti des pixels. ...

Capturer des images à fusionner vers HDR Pro - mannequins

Capturer des images à fusionner vers HDR Pro - mannequins

Pour fusionner plusieurs expositions en une image HDR en utilisant Photoshop CC, vous devez avoir plusieurs expositions avec lesquelles travailler. Il y a deux façons de relever le défi: Vous pouvez prendre une série d'expositions, ou photographier une image brute et faire plusieurs copies avec différentes valeurs d'exposition. Si vous voulez absolument le meilleur ...

Modifiez le pinceau dans le panneau Outils Photoshop CS5 - les nuls

Modifiez le pinceau dans le panneau Outils Photoshop CS5 - les nuls

Regroupés dans le panneau Outils de Photoshop Creative Suite 5 sont les outils utilisés pour peindre et retoucher des images. Lorsque vous cliquez pour sélectionner différents outils de peinture, notez le menu Pinceau (deuxième à partir de la gauche) dans la barre des options. Cliquez sur la flèche pour ouvrir le sélecteur Pinceaux prédéfinis. Utilisez le curseur Diamètre principal pour ...

Le choix des éditeurs

Comment utiliser plusieurs styles avec CSS3 - mannequins

Comment utiliser plusieurs styles avec CSS3 - mannequins

Comprendre les règles d'héritage dans CSS3 vous aide à créer des sites intéressants nécessitant un minimum de maintenance. En suivant ces règles, lorsque la maintenance est requise, vous devez normalement effectuer un seul changement, plutôt que de modifier individuellement des centaines d'éléments. Cela vaut la peine d'expérimenter, pour que vous puissiez comprendre tous les effets de l'héritage ...

Comment utiliser l'éditeur HTML CoffeeCup - les nuls

Comment utiliser l'éditeur HTML CoffeeCup - les nuls

Comme outil principal des pages Web WYSIWYG, CoffeeCup HTML Editor possède toutes les fonctionnalités de base importantes dont vous avez besoin pour créer des pages Web de base. En utilisant ces fonctionnalités, vous pouvez créer et éditer des pages Web sans voir les balises HTML, glisser et déposer des liens vers d'autres sites Web sans taper l'URL ou le chemin, couper et coller ...

Comment utiliser l'espace blanc dans votre conception de site Web - les nuls

Comment utiliser l'espace blanc dans votre conception de site Web - les nuls

Pages Web qui ont des tonnes des choses emballées dans tous les coins et recoins rendent la page difficile à lire et ne donnent pas l'occasion à l'œil de se reposer. Lors de la création d'une mise en page Web, prévoyez toujours un espace libre autour de vos éléments de conception. Les espaces ouverts créent non seulement une atmosphère plus invitante ...