Video: Your First User Interface (2019) - Lesson 4 2025
Av Neal Goldstein
Når du snakker om iOS cloud programmering, snakker du om to ting: iCloud (som implementeres for deg av Apple og lar deg synkroniser data mellom enheter) og webtjenester (som gjør det mulig å få noen av programbehandlingen din gjort av en ekstern datamaskin et sted midt i hvem som vet hvor). Webtjenester er avhengige av effektive måter å levere webserviceforespørsler på - forespørsler fra en bruker for data lagret i skyen. De to mest effektive formatene (for nå, minst) er XML og JSON. Tipsene du finner her, viser deg hvordan du konfigurerer en webforespørsel (ved hjelp av Google Geocoder-webtjenesten som et eksempel) og hvordan du analyserer både XML-responsen og JSON-responsen, slik at du kan bruke webtjenestedataene i søknaden din.
Parsing Data returnert fra Cloud av en webtjeneste
Når du bruker en webtjeneste som er basert i skyen, vil ditt svar sannsynligvis være i JSON eller XML, to standardformater for overføring data mellom en server og en webapplikasjon. Det blir tider når du har valg mellom de to formatene, men andre ganger må du gå med det du får.
Google Geocoding Web Service, for eksempel, gir deg et valg.
Hvis du vil ha svaret i XML-format, vil du bruke
// maps. googleapis. com / maps / api / geocode / xml
Hvis du vil ha svaret i JSON, vil du bruke
// maps. googleapis. com / maps / api / geokode / JSON? parlamenter
Mens det er hensiktsmessig, hvordan du får informasjon ut av XML og JSON datastrukturer, er ganske forskjellig i utførelse.
Analysere et XML-svar fra Cloud
Når du bruker en webtjeneste som er basert i skyen, kan ditt svar være i XML. Hvis du, når du jobber med din skybaserte webtjeneste, skulle skrive inn følgende i nettleseren din
// maps. googleapis. com / maps / api / geokode / xml? sensor = sann og adresse = EmpireState Building &
du vil få tilbake noe XML - dette, for eksempel:
… 40. 7484395 -73. 9856709 …
Siden XML ikke eksakt uttrykker seg på måter som er enkle å forstå, må du da analysere hva det er som XML gir deg.
Husk XML består av elementer som har start- og sluttkoder. For å få tilgang til informasjonen via iCloud, bruker du NSXMLParser-klassen som bruker delegasjonsmønsteret. Slik fungerer det:
NSXMLParser * xmlParser = [[NSXMLParser alloc] initWithData: data]; [xmlParser setDelegate: self]; [xmlParser parse];
Det viser seg at det er fire NSXMLParser delegerte metoder du vil implementere for å analysere en XML-datastruktur:
