Video: Your First User Interface (2019) - Lesson 4 2025
Ved Neal Goldstein
Når du taler om iOS cloud programmering, taler du om to ting: iCloud (som implementeres til dig af Apple og giver dig mulighed for at synkroniser data mellem enheder) og webtjenester (som gør det muligt for dig at få nogle af din apps behandling udført af en fjerncomputer et sted midt i hvem ved hvor). Webtjenester er afhængige af effektive måder at aflevere webserviceforespørgsler - anmodninger fra en bruger til data gemt i skyen. De to mest effektive formater (for i det mindste) er XML og JSON. De tips, du finder her, viser dig, hvordan du opretter en webforespørgsel (ved hjælp af Google Geocoder-webtjenesten som et eksempel), og hvordan du analyserer både XML-svaret og JSON-svaret, så du kan bruge webservicedataene i din ansøgning.
Parsing Data returneres fra Cloud via en webservice
Når du bruger en webservice, der er baseret i skyen, vil dit svar sandsynligvis være i JSON eller XML, to standardformater til transmission data mellem en server og en webapplikation. Der er tidspunkter, når du har et valg mellem de to formater, men andre gange skal du gå med, hvad du får.
Google Geocoding Web Service, for eksempel, giver dig et valg.
Hvis du vil have svaret i XML-format, vil du bruge
// maps. googleapis. com / maps / api / geocode / xml
Hvis du ønskede svaret i JSON, ville du bruge
// maps. googleapis. dk / maps / api / Geocode / JSON? parlamenter
Mens det er hensigtsmæssigt, hvordan du får information ud af XML og JSON datastrukturer, er helt anderledes i udførelsen.
Analyse af et XML-svar fra Cloud
Når du bruger en webservice, der er baseret i skyen, kan dit svar være i XML. Hvis du, når du arbejder med din skybaserede webservice, skulle indtaste følgende i din webbrowser
// maps. googleapis. dk / maps / api / Geocode / xml? sensor = true & address = EmpireState Building &
du vil få nogle XML-filer tilbage, f.eks.:
… 40. 7484395 -73. 9856709 …
Da XML ikke eksakt udtrykker sig på måder, der er lette at forstå, skal du så analysere, hvad det er, XML giver dig.
Husk XML består af elementer, der har start- og slutkoder. For at komme til informationen via iCloud bruger du NSXMLParser-klassen, der bruger delegationsmønsteret. Sådan fungerer det:
NSXMLParser * xmlParser = [[NSXMLParser alloc] initWithData: data]; [xmlParser setDelegate: self]; [xmlParser parse];
Det viser sig, at der er fire NSXMLParser delegerede metoder, du vil implementere for at analysere en XML-datastruktur: