Como usar o java script de notação de objeto no ios
Video: Gerando APLICATIVO NATIVO para iPhone e Android com javascript
Conteúdo
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.