Produktdokumentasjon - WWW dot HENRIKH dot NET
Produktdokumentasjon - WWW dot HENRIKH dot NET
Produktdokumentasjon - WWW dot HENRIKH dot NET
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
4.2.7 NVDB-objekter<br />
NVDB-objektene er objekter som brukes til å mappe data til eller fra JSON med RestKit. Sok-klassen<br />
definerer objektet som sendes med spørringer til NVDB APIet. MapQuestRoute er objektet svar fra<br />
MapQuest mappes til. De andre objektene er stort sett vegobjekter som data fra NVDB mappes til.<br />
Vegobjektene er subklasser av enten LinjeObjekt, PunktObjekt eller SkiltObjekt. Disse klassene er<br />
igjen subklasser av Vegobjekt hvor de viktigste egenskapene defineres. Vegobjekt inneholder blant<br />
annet to arrayer med Egenskap- og Veglenke-objekter. Grunnen til at vegobjektene arver fra enten<br />
LinjeObjekt, PunktObjekt eller SkiltObjekt er at disse typene behandles ulikt i VegObjektKontroller-<br />
klassen. Man kan dermed teste hvilken av disse typene objektet er en subklasse av, og dermed<br />
slippe å teste på alle mulige NVDB-objekttyper.<br />
@protocol VegobjektProtokoll <br />
@required<br />
+ (RKObjectMapping *)mapping;<br />
+ (NSArray *)filtere;<br />
+ (NSNumber *)idNr;<br />
+ (NSString *)key;<br />
+ (BOOL)objektSkalVises;<br />
@end<br />
@interface Vegobjekt : NSObject<br />
@property (nonatomic, strong) NSArray * egenskaper;<br />
@property (nonatomic, strong) NSArray * veglenker;<br />
@property (nonatomic, strong) NSString * lokasjon;<br />
+ (RKObjectMapping *)standardMappingMedKontainerKlasse:(Class)kontainerklasse;<br />
@end<br />
@interface LinjeObjekt : Vegobjekt<br />
@property (nonatomic, strong) NSNumber * strekningsLengde;<br />
@end<br />
@interface PunktObjekt : Vegobjekt<br />
@end<br />
Kodesnutt 26: I Vegobjekt.h defineres VeobjektProtokoll, Vegobjekt, LinjeObjekt og PunktObjekt. SkiltObjekt defineres i<br />
en annen fil (SkiltObjekt.h).<br />
VegobjektProtokoll implementeres av de fleste vegobjektene. Denne protokollen sørger for at<br />
klassene implementerer metoder som returnerer info om objektet til RestKit. Man kan dermed<br />
behandle alle vegobjekter likt uten å vite hva slags objekt det er snakk om.<br />
@implementation Fartsgrense<br />
@synthesize strekningsLengde, egenskaper, veglenker, lokasjon;<br />
- (NSString *)hentFartFraEgenskaper<br />
{<br />
for (Egenskap * e in egenskaper)<br />
{<br />
if([e.navn isEqualToString:FARTSGRENSE_FART_KEY])<br />
{<br />
return e.verdi;<br />
Kjørehjelperen – <strong>Produktdokumentasjon</strong> Side 37