Video: Větrací jednotka FUTURA, určená pro nízkoenergetické a pasivní domy 2024
Neal Goldstein
Když hovoříte o programování cloud iOS, mluvíte o dvou věcech: iCloud synchronizace dat mezi zařízeními) a webových služeb (které umožňují, aby některé zpracování aplikace provádělo vzdálený počítač někde uprostřed toho, kdo ví kde). Webové služby se spoléhají na efektivní způsoby předávání požadavků na webové služby - požadavky uživatelů na data uložená v cloudu. Dva nejúčinnější formáty (alespoň prozatím) jsou XML a JSON. Tipy, které naleznete zde, ukazují, jak nastavit webovou žádost (jako příklad webovou službu Google Geocoder) a jak analyzovat jak odpověď XML, tak odpověď JSON, abyste mohli používat data webové služby v aplikaci.
Parsování dat vrácených z cloudu pomocí webové služby
Pokud používáte webovou službu založenou na cloudu, vaše odpověď bude pravděpodobně v jazyce JSON nebo XML, dva standardní formáty pro přenos data mezi serverem a webovou aplikací. Budou chvíle, kdy máte možnost volby mezi těmito dvěma formáty, ale jindy musíte jít s tím, co dostanete.
Služba Google Geocoding Web Service vám dává na výběr.
Pokud chcete odpověď ve formátu XML, použijete
// maps. googleapis. com / maps / api / geocode / xml
Pokud jste chtěli odpovědět v JSONu, použijete
// maps. googleapis. com / mapy / api / geocode / json? paremters
Zatímco podobný záměr, jak získáte informace z datových struktur XML a JSON, je zcela jiný.
Parsování odpovědi XML z cloudu
Když používáte webovou službu založenou na cloudovém serveru, vaše odpověď může být v XML. Pokud jste při práci s webovou službou založenou na cloudových aplikacích zadali následující informace do webového prohlížeče
// maps. googleapis. com / mapy / api / geocode / xml? sensor = true & address = EmpireState Building &
získáte zpět nějaký XML - například:
… 40. 7484395 -73. 9856709 …
Vzhledem k tomu, že XML se přesně nevyjadřuje způsobem, který je snadno srozumitelný, budete muset analyzovat, co vám XML dává.
Nezapomeňte, že XML je tvořen prvky, které obsahují značky začátku a konce. Chcete-li získat informace prostřednictvím iCloud, použijete třídu NSXMLParser, která používá vzor delegace. Zde je návod, jak to funguje:
NSXMLParser * xmlParser = [[NSXMLParser alloc] initWithData: data]; [xmlParser setDelegate: self]; [xmlParser parse];
Ukázalo se, že existují čtyři metody delegátů NSXMLParser, které budete provádět pro analýzu datové struktury XML: