Como usar o java script de notação de objeto no ios

Video: Gerando APLICATIVO NATIVO para iPhone e Android com javascript

javascript Object Notation (JSON) tornou-se o de fato padrão em termos de representação de dados em aplicações iOS. Você pode usar JSON para transferência de dados em toda a web e como o formato para guardar e recuperar dados de longa duração. JSON é tanto legível e fácil para máquinas de entender. Dados em JSON pode estar em uma das duas estruturas:

  • Um objeto que compreende um conjunto de un-ordenada de pares nome-valor. Cada nome de valor corresponde a um atributo do objecto. Cada par nome-valor podem ser aninhados, caso o atributo que está sendo representado é de natureza hierárquica.

  • Uma matriz ordenada de valores. Cada valor na matriz pode ser um escalar (um booleano, corda, ou o valor do número), um objecto, ou uma matriz.

    Video: How to make Java Script Game in ios device...

Em Tic-Tac-dedo do pé, JSON representa o estado de um jogo. Este estado consiste no seguinte:

  • O leitor de corrente (um jogador ou o jogador 2) é representado como um número inteiro (0 para o jogador 1, e um para o jogador 2).

  • O estado do jogo - se é ativo ou sortimento e se é completa, se ganhou ou drawn- e se ganhou, por quem.

    Video: How to enable or disable javascript on iPad

    Os estados também são representados como números inteiros, com inactivo -1, activo a ser 0, Won sendo um, e sendo desenhar 2.

  • O estado da grade - isto é, o que símbolos estão presentes em cada um dos quadrados na grade. Note-se que os símbolos são representados como os valores inteiros 0, 1, e 2, que representam o vazio, X, e ó, respectivamente.

    Video: Aula 3 - javascript - Objetos

  • O símbolo atual (o que vai ser jogado no próximo passo). Aqui (e só para variar o exemplo), que representam o símbolo como a string “X” ou a string “O” ou um espaço em branco (”“).

  • A contagem de reprodução (o número de lances feitos para o ponto atual no jogo) é representado como um inteiro.

Neste código, nós mostramos o objeto JSON correspondente a um e Game Tic-Tac-Toe ativo:



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

JSON mapeia facilmente às estruturas de dados disponíveis (tais como matriz, estruturas e objetos) em praticamente todas as linguagens de programação. O objeto de formulário de JSON mapeia facilmente aos objetos linguagem de programação ou estruturas, enquanto que a forma de matriz de JSON pode mapear para uma matriz, vetor, lista ou sequência, basicamente, qualquer estrutura de dados pode conter uma coleção ordenada de objetos.

Em Tic-Tac-dedo do pé, o objeto JSON correspondente ao estado do jogo é mapeado para um NSDictionary, porque um objeto NSDictionary também consiste em pares de valores de nomes aninhados. Como resultado, quando você tem que salvar o estado do jogo, você começa seu estado como um objeto NSDictionary e depois convertê-lo para uma string JSON.

Quando você recuperar o estado do jogo, você faz o oposto - você ler em dados JSON e convertê-lo em um objeto NSDictionary e depois usar o NSDictionary para restaurar o jogo para o estado salvo.

O exemplo a seguir mostra a conversão de um objeto de dicionário para JSON e do objeto de dados JSON para uma string (do SaveGame método no controlador de vista Session Jogo - arquivos TTTGameSessionViewController.m e .h):

 - (IBAction) SaveGame: (ID) remetente {NSDictionary * savedGameDictionary = [activeGame ToDictionary] -NSError * erro-NSData * jsonData = [NSJSONSerialization dataWithJSONObject: savedGameDictionaryoptions: NSJSONWritingPrettyPrintederror:&erro] -NSString * savedGameString = [[NSString alloc] initWithdata: jsonDataencoding: NSUTF8StringEncoding] -NSString * savedGamesFilePath = [NSHomeDirectory () stringByAppendingPathComponent: @TTTGAMESESSIONSAVEDFILEPATH] - [savedGameString WriteToFile: savedGamesFilePathatomically: YESencoding: NSUTF8StringEncodingerror: NULL] -}

O método importante aqui é no dataWithJSONObject método da classe NSJSONSerialization.

Pode ver a operação inversa (isto é, a partir de uma sequência JSON para um NSDictionary) no método restoreGame no mesmo controlador de vista:

- (IBAction) restoreGame: (id) sender {NSLog (@"jogo restaurando") - ... NSError * restoreError = nil-NSMutableDictionary * savedDictionary = [NSJSONSerialization JSONObjectWithdata: [savedGameStringdataUsingEncoding: NSUTF8StringEncoding] opções: NSJSONReadingMutableContainerserror:&restoreError] -activeGame = [[TTTGame alloc] initFromDictionary: savedDictionary] -TTTGameGrid * gameGrid = [activeGame getGameGrid] -se [boardView disableInput] - [boardView setGrid ([activeGame isActive]!): gameGrid] - [Gameview redesenhar] -}

Aqui o método é a chave JSONObjectWithData, que faz a operação inversa de criar o Objectivo-C NSDictionary de dados JSON.


Publicações relacionadas