Casa Social media Come utilizzare la notazione oggetto script Java nelle app iOS - dummies

Come utilizzare la notazione oggetto script Java nelle app iOS - dummies

Video: Android 101 by Fred Widjaja 2024

Video: Android 101 by Fred Widjaja 2024
Anonim

JavaScript Object Notation (JSON) è diventato lo standard de facto in termini di rappresentazione dei dati nelle app iOS. È possibile utilizzare JSON per trasferire dati sul Web e come formato per il salvataggio e il recupero di dati di lunga durata. JSON è al contempo leggibile e facile da capire per le macchine. I dati in JSON possono essere in una di due strutture:

  • Un oggetto che comprende un insieme non ordinato di coppie nome-valore. Ogni valore di nome corrisponde a un attributo dell'oggetto. Ogni coppia nome-valore può essere annidata, nel caso in cui l'attributo che viene rappresentato sia di natura gerarchica.

  • Un array ordinato di valori. Ogni valore dell'array può essere un valore scalare (un valore booleano, stringa o numerico), un oggetto o un array.

In Tic-Tac-Toe, JSON rappresenta lo stato di un gioco. Questo stato è costituito da quanto segue:

  • Il giocatore corrente (giocatore 1 o giocatore 2) è rappresentato come un numero intero (0 per il giocatore 1 e 1 per il giocatore 2).

  • Lo stato del gioco - sia che sia attivo o completo; se è completo, se è vinto o estratto; e se vinto, da chi.

    Gli stati sono anche rappresentati come interi, con Inattivo essendo -1, attivo essendo 0, vinto essendo 1, e disegnato essendo 2.

  • Lo stato della griglia - cioè, quali simboli sono presenti in ciascuno dei quadrati sulla griglia. Si noti che i simboli sono rappresentati come i valori interi 0, 1 e 2, che corrispondono rispettivamente a Vuoto, X e O.

  • Il simbolo corrente (quello che verrà riprodotto alla prossima mossa). Qui (e solo per variare l'esempio), rappresentiamo il simbolo come la stringa "X" o la stringa "O" o uno spazio ("").

  • Il conteggio dei giochi (il numero di mosse effettuate nel punto corrente nel gioco) è rappresentato come un numero intero.

In questo codice, mostriamo l'oggetto JSON corrispondente a un gioco Tic-Tac-Toe attivo:

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

JSON si associa facilmente alle strutture di dati disponibili (come array, strutture e oggetti) in praticamente ogni linguaggio di programmazione. La forma oggetto di JSON si associa facilmente agli oggetti o alle strutture del linguaggio di programmazione, mentre la forma dell'array di JSON può essere mappata su un array, vettore, elenco o sequenza, in pratica qualunque struttura di dati può contenere una raccolta ordinata di oggetti.

In Tic-Tac-Toe, l'oggetto JSON corrispondente allo stato del gioco è mappato su un NSDictionary, poiché un oggetto NSDictionary comprende anche coppie di valori nominali nidificati.Di conseguenza, quando devi salvare lo stato del gioco, ottieni il suo stato come oggetto NSDictionary e poi lo converti in una stringa JSON.

Quando recuperi lo stato del gioco, fai il contrario: leggi i dati JSON e li converti in un oggetto NSDictionary e poi usi NSDictionary per ripristinare il gioco nello stato salvato.

L'esempio seguente mostra questa conversione da un oggetto dizionario a JSON e dall'oggetto dati JSON a una stringa (dal metodo saveGame nel controller di visualizzazione della sessione di gioco - file TTTGameSessionViewController. M e. H):

- (IBAction) saveGame: (id) sender {NSDictionary * savedGameDictionary = [activeGame toDictionary]; Errore NSError *; NSData * jsonData = [NSJSONSerialization dataWithJSONObject: savedGameDictionary opzioni: NSJSONWritingPrettyPrinted errore: & error]; NSString * savedGameString = [[NSString alloc] initWithData: codifica jsonData: NSUTF8StringEncoding]; NSString * savedGamesFilePath = [NSHomeDirectory () stringByAppendingPathComponent: @TTTGAMESESSIONSAVEDFILEPATH]; [savedGameString writeToFile: savedGamesFilePath atomicamente: YES encoding: NSUTF8StringEncoding error: NULL];}

Il metodo importante qui è nel metodo dataWithJSONObject dalla classe NSJSONSerialization.

È possibile visualizzare l'operazione inversa (ovvero, da una stringa JSON a un NSDictionary) nel metodo restoreGame nello stesso controller di visualizzazione:

- (IBAction) restoreGame: (id) sender {NSLog (@ "Ripristino gioco"); … NSError * restoreError = nil; NSMutableDictionary * savedDictionary = [NSJSONSerialization JSONObjectWithData: [savedGameString dataUsingEncoding: NSUTF8StringEncoding] options: NSJSONReadingMutableContainers error: & restoreError]; activeGame = [[TTTGame alloc] initFromDictionary: savedDictionary]; TTTGameGrid * gameGrid = [activeGame getGameGrid]; if (! [activeGame isActive]) [boardView disableInput]; [boardView setGrid: gameGrid]; [gameView redraw];}

Qui il metodo chiave è JSONObjectWithData, che esegue l'operazione inversa per la creazione di Objective-C NSDictionary dai dati JSON.

Come utilizzare la notazione oggetto script Java nelle app iOS - dummies

Scelta dell'editore

Come utilizzare la notazione oggetto script Java nelle app iOS - dummies

Come utilizzare la notazione oggetto script Java nelle app iOS - dummies

Notazione oggetto javaScript (JSON) è diventato lo standard di fatto in termini di rappresentazione dei dati nelle app iOS. È possibile utilizzare JSON per trasferire dati sul Web e come formato per il salvataggio e il recupero di dati di lunga durata. JSON è al contempo leggibile e facile da capire per le macchine. I dati in JSON possono essere inclusi in uno ...

Come usare Frammenti per programmare la tua app Android - dummies

Come usare Frammenti per programmare la tua app Android - dummies

L'interfaccia utente nel L'esempio di app per Android qui utilizzato ha tre pannelli: un elenco di elementi, un pannello di dettagli che descrive l'elemento selezionato nell'elenco e un pannello di dettagli in profondità. Su un piccolo schermo dello smartphone, ogni pannello potrebbe essere un'attività separata. Ma uno schermo tablet in modalità orizzontale ha spazio per ...

Come utilizzare Xcode Instruments per raccogliere dati per le app iOS - dummies

Come utilizzare Xcode Instruments per raccogliere dati per le app iOS - dummies

Xcode fornisce uno strumento per sviluppatori che consente la traccia dinamica e la profilazione del codice iOS per aiutarti a comprendere il comportamento congiunto sia del codice dell'app che del sistema operativo. Si chiama Instruments. Per utilizzare questo strumento, segui questi passaggi: Scegli Xcode → Apri strumento di sviluppo → Strumenti. Viene visualizzata la finestra Strumenti che mostra una raccolta di modelli. Tu ...

Scelta dell'editore

Filosofia Argomenti da studiare per il Miller Analogies Test (MAT) - dummies

Filosofia Argomenti da studiare per il Miller Analogies Test (MAT) - dummies

You non dovremo sfuggire a qualsiasi confuso testo di filosofia per fare bene con la filosofia sul MAT. Per eccellere nelle analogie MAT sulla filosofia, tutto ciò che devi sapere sono i principali filosofi della storia, i loro lavori e alcuni termini di base della filosofia. Termini filosofici che appaiono nel test MAT Spazzolate le vostre conoscenze ...

Come applicare la conoscenza della certificazione PHR / SPHR sul lavoro - dummy

Come applicare la conoscenza della certificazione PHR / SPHR sul lavoro - dummy

Dopo aver Con successo ottenuto la certificazione PHR / SPHR, il tuo ruolo sul lavoro sta per cambiare. Non è solo perché ora hai le iniziali accanto al tuo nome. Il processo di preparazione ti ha insegnato nuove cose e, come professionista consumato, inizierai a cercare cambiamenti nel tuo gruppo di lavoro. Queste modifiche si applicano in ...

Passando la Parte I del GED - dummies

Passando la Parte I del GED - dummies

Parte I delle Arti del linguaggio, Writing Test ti chiede di leggere e quindi rivedere e modificare i documenti che possono includere informazioni sulle procedure e materiale sul posto di lavoro. Questo test non è malvagio. Solo perché non hai preso la grammatica per anni non significa che non lo sai. Probabilmente sai più di quanto pensi. Le domande sono tutte ...

Scelta dell'editore

Come allineare il contenuto della tabella in colonne e righe in Dreamweaver - dummies

Come allineare il contenuto della tabella in colonne e righe in Dreamweaver - dummies

Pulire l'allineamento degli elementi in colonne e righe rende il tuo tavolo pulito e facile da leggere. Raggiungere quell'aspetto in Dreamweaver può essere complicato perché non si ha il massimo controllo in HTML di un programma come Excel, in cui è possibile allineare i numeri al punto decimale, ad esempio. In un ...

Come allineare elementi con float in Dreamweaver - dummies

Come allineare elementi con float in Dreamweaver - dummies

I designer spesso allineano un'immagine, un tag, o un altro elemento a sinistra oa destra di una pagina Web in Dreamweaver e quindi avvolgere qualsiasi testo o altro contenuto intorno a quell'elemento. L'immagine è allineata a destra della colonna in modo che il testo si sposti accanto a essa a sinistra. In ...

Come verificare la compatibilità CSS in Adobe Dreamweaver CS6 - dummies

Come verificare la compatibilità CSS in Adobe Dreamweaver CS6 - dummies

È Importante assicurarsi che Adobe Il sito Web di Dreamweaver CS6 viene visualizzato correttamente e in modo coerente su tutti i browser più diffusi, come Internet Explorer, Firefox, Chrome e Safari. Sebbene la maggior parte dei browser moderni abbia adottato un supporto abbastanza uniforme per le proprietà CSS2 (e alcuni CSS3), i progettisti dovrebbero comunque testare le loro pagine in una varietà di browser e browser ...