27.07.2013 Views

Produktdokumentasjon - WWW dot HENRIKH dot NET

Produktdokumentasjon - WWW dot HENRIKH dot NET

Produktdokumentasjon - WWW dot HENRIKH dot NET

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

VegObjektKontroller sender posisjonen videre til NVDB_DataProvider for å få en vegreferanse<br />

knyttet til posisjonen. NVDB_DataProvider sender dette videre til NVDB_RESTkit, som igjen sender<br />

en forespørsel til NVDB APIet. Siden det benyttes delegater er det ingen klasser som venter på svar.<br />

De våkner først når delegatens metode kalles.<br />

Når RESTkit mottar et svar fra NVDB APIet mappes dette automatisk til et Vegreferanse-objekt, og<br />

sendes til NVDB_DataProvider. NVDB_DataProvider sender svaret videre til VegObjektKontroller.<br />

VegObjektKontroller bygger deretter et søkeobjekt med den aktuelle veglenke-id'en og alle<br />

vegobjektene med deres respektive mapping. Søkeobjektet sendes så til NVDB_DataProvider.<br />

Når NVDB_DataProvider mottar søkeobjektet sjekker klassen om det eksisterer data for denne<br />

veglenken i Core Data og om den eventuelt er utdatert (se figur 16). Hvis data eksisterer og ikke er<br />

utdatert lastes dette ut av Core Data og sendes tilbake til VegObjektKontroller. Ellers sendes<br />

forespørselen videre til NVDB_RESTkit.<br />

NVDB_RESTkit sender forespørselen videre til NVDB APIet. Når svar mottas, mappes det til<br />

vegobjekter og sendes tilbake til NVDB_DataProvider. Når NVDB_DataProvider mottar dette gjøres<br />

først skiltobjektene om til vegobjekter, før alt lagres til Core Data. Så sendes resultatet tilbake til<br />

VegObjektKontroller.<br />

Når VegObjektKontroller mottar vegobjektene vet ikke klassen noe om de kom fra Core Data eller<br />

NVDB APIet. Den løper gjennom dataene og finner frem til det som skal vises til brukeren. Dette<br />

legges i en NSDictionary og returneres til HovedskjermViewController. Samtidig kjøres det en<br />

forespørsel mot NVDB_DataProvider for å finne avstanden til alle Skilt- og Punktobjektene som skal<br />

vises på skjermen.<br />

For hver enkelt avstandsforespørsel sender NVDB_DataProvider denne videre til NVDB_RESTkit.<br />

NVDB_RESTkit sender svaret tilbake til NVDB_DataProvider, som igjen sender svaret tilbake til<br />

VegObjektKontroller. Denne klassen formaterer svaret og sender det til HovedskjermViewController.<br />

HovedskjermViewController mottar en NSDictionary med alle vegobjektene som skal vises på<br />

skjermen. Klassen tegner ut informasjonen på skjermen og stopper opp igjen. Med jevne mellomrom<br />

mottar den deretter avstander som skrives ut på skjermen etter hvert som de mottas.<br />

Dette er gangen i applikasjonen når alt går bra. Det hele repeteres omtrent hvert andre sekund. Et<br />

sekvensdiagram (figur 15) viser hvordan klassene kommuniserer. Etter alle forespørsler mot venstre<br />

i diagrammet stopper klassene opp og gjør ikke noe mer før en delegatmetode kalles med svar.<br />

Kjørehjelperen – <strong>Produktdokumentasjon</strong> Side 46

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!