Video: Firebase Tutorial (2018) for iOS 2024
Av Neal Goldstein
När du pratar om IOS Cloud Programmering, talar du om två saker: iCloud (som implementeras för dig av Apple och låter dig synkroniser data mellan enheter) och webbtjänster (som gör att du kan få lite av din apps bearbetning gjort av en fjärrdator någonstans mitt i vem vet var). Webtjänsterna är beroende av effektiva sätt att lämna webbservicebegäranden - begäranden gjorda av en användare för data lagrade i molnet. De två mest effektiva formaten (för nu, åtminstone) är XML och JSON. De tips som du hittar här visar hur du konfigurerar en webbförfrågan (med hjälp av Google Geocoder-webbtjänsten som exempel) och hur man analyserar både XML-svaret och JSON-svaret så att du kan använda webbtjänstdata i din ansökan.
Parsing Data returneras från molnet av en webbtjänst
När du använder en webbtjänst som är baserad i molnet kommer ditt svar troligen att vara i JSON eller XML, två standardformat för överföring data mellan en server och webbapplikation. Det kommer att finnas tillfällen när du har ett val mellan de två formaten, men andra gånger måste du gå med vad du får.
Google Geocoding Web Service, till exempel, ger dig ett val.
Om du vill ha svaret i XML-format, skulle du använda
// kartor. googleapis. com / maps / api / geocode / xml
Om du ville ha svaret i JSON, skulle du använda
// maps. googleapis. com / kartor / api / Geocode / json? parlamenter
Medan liknande i avsikt, hur du får information ur XML och JSON datastrukturer är ganska annorlunda i utförandet.
Analysera ett XML-svar från molnet
När du använder en webbtjänst som är baserad i molnet kan ditt svar vara i XML. Om du, när du arbetar med din molnbaserade webbtjänst, skulle ange följande i din webbläsare
// kartor. googleapis. com / kartor / api / Geocode / xml? sensor = true & address = EmpireState Building &
du skulle få tillbaka en del XML - det här till exempel:
… 40. 7484395 -73. 9856709 …
Eftersom XML inte exakt uttrycker sig på sätt som är lätta att förstå, måste du då analysera vad det är som XML ger dig.
Kom ihåg XML består av element som har start- och slutkoder. För att komma till informationen via iCloud använder du NSXMLParser-klassen som använder delegationsmönstret. Så här skulle det fungera:
NSXMLParser * xmlParser = [[NSXMLParser alloc] initWithData: data]; [xmlParser setDelegate: self]; [xmlParser parse];
Det visar sig att det finns fyra NSXMLParser delegerade metoder som du kommer att implementera för att analysera en XML-datastruktur: