Hjem Sosiale medier Slik bruker du Active Record i iOS Apps - dummies

Slik bruker du Active Record i iOS Apps - dummies

Video: Galaxy Note9: How to use two apps at once with Galaxy Note9 and Samsung DeX 2024

Video: Galaxy Note9: How to use two apps at once with Galaxy Note9 and Samsung DeX 2024
Anonim

Aktivt opptak er et enkelt mønster der klassen av minnemodellobjektet blir utvidet med metoder som håndterer utholdenheten til klassen. Følgende er et eksempel som bruker et bord som heter PERSONTABLE for å vedvare objekter av en Person-klasse i en relationsdatabase som datalager. Dette er grensesnittfilen til Person-klassen:

@interface Person: NSObject {// Modell attributter @private NSString * Navn; @private NSString * SSNo;} - (id) init; - (id) initWithOIDNameAndSSNo: (NSString *) OID: (NSString *) aName: (NSString *) aSSNo; - (NSString *) getName; - (NSString *) getSSNo; - (void) setName: (NSString *) aName; - (void) setSno: (NSString *) aSSNo; - (void) setAsRetired; // Andre operasjoner, hvis noen -d

Bare domenemetodene vises i dette grensesnittet. De ekstra metodene som trengs for utholdenhet, er definert i den vedvarende protokollen:

typedef enum {NEW, EXISTS, CHANGED, DELETED} STATUS; @protocol Persistable // Egenskaper som kreves av protokollen @required @property (copy) NSString * OID; // Unik ID i databasen @required @property (readonly) STATE state; + (id) findByOID: (NSString *) OID; - (tom) innsats; - (tom) oppdatering; - (void) delete; - (void) vedvarer; -d

Denne protokollen erklærer to nødvendige egenskaper:

  • Attributtet OID : Denne egenskapen inneholder den vedvarende IDen til objektet som unikt identifiserer objektet i en vedvarende datalager.

  • Attributtet state : Denne attributtet indikerer om objektet

    • ble nylig opprettet i minnet (tilstanden er NEW).

    • Eksisterer i databasen (staten er Eksisterende).

    • Ble modifisert i minnet etter å ha blitt hentet fra datalageret (staten er ENDRE).

    • Merkes for sletting (tilstand er slettet).

Protokollen erklærer da en samling metoder som klassen må gjennomføre. Du bruker klassemetoden FindByOid til å ta med et objekt fra databasen til minnet. (Slike metoder kalles finder metoder, og du kan ha mange forskjellige typer av dem, for eksempel et søkByName, findBySSNo og så videre.) Pseudokode for implementering av denne metoden i Person-klassen er vist her:

+ (id) findByOID: (NSString *) anOID {Person * returnPerson; // SQL-setning for å hente objekt fra databasen // Lagre hentet NAME og SSNO i lokale variabler aName og anSSNo … VELG NAVN, SSNO, fra PERSONTABLE der OID =: anOID INTO: aName,: anSSNo; aPerson = [[Personallokering] initWithOIDNameAndSSNo: anOID: anSSNo]; aPerson-> state = Eksisterende; returnerer returnPerson;}

Logikken til denne metoden er som følger:

  • Den innebygde SQL SELECT-setningen henter navnene og sosiale sikkerhetsnummerattributtene til objektet fra databasen og lagrer disse verdiene i de lokale variablene aName og anSSNo.

  • Disse variablene sammen med OID instantiate og initialisere et objekt av Person-klassen og returnere det.

Neste ser du implementeringen av de andre metodene fra Persistable protokollen, i Person-klassen. Vedvarende metode kalles når objektet må lagres i databasen, som vist her:

- (void) persist {// Kontroller objektets tilstand // Hvis det er et nytt objekt jeg. e. state = NEW call [self insert] // for å lage en oppføring i PERSONTABLE // Hvis state = EXISTS gjør ingenting // Hvis state = CHANGED, ring oppdatering for å oppdatere databasen // Hvis state - DELETED, ring slett for å fjerne informasjonen // i databasen}

Vedvarende metoden bruker tilstandsvariabelen til å anskaffe de riktige metodene for objektets utholdenhet.

  • Hvis objektet er nyopprettet, legges en plate inn i objektets tabell ved hjelp av innsatsmetoden, som vist her:

    - (void) sett inn {INSERT IN PERSONTABLE (OID, NAME, SSNO) VÆRDIER: OID: Navn: SSNo …}
    
  • Hvis objektet hentes fra databasen og deretter endres i minnet, kalles oppdateringsmetoden.

    - (ugyldig) oppdatering {UPDATE PERSONTABLE SET VALUES NAME =: Navn, SSNO =: SSNo WHERE OID =: OID …}
    
  • Hvis objektet hentes fra databasen og deretter merket for sletting i minne, slettes Metoden kalles.

- (void) delete {DELETE FROM PERSONTABLE WHERE OID =: OID; …}

Vær oppmerksom på at domenemetoder samt finnemetoder skal sette tilstanden til objektet på riktig måte. Som et resultat setter init initial tilstanden til objektet til NEW, findByOID setter staten til EKSISTERENDE, setAsRetired kan potensielt sette tilstanden til DELETED, setName og setSSNo setter staten til CHANGED (hvis den opprinnelige tilstanden var EKSISTERENDE), og så på.

Domenemetodene og persistensmetodene er derfor koblet til en viss grad.

Når du bruker Active Record til å lagre objekter i en relasjonsdatabase, kartlegger det vanligvis et objekt i en database tabell, med objektets vedvarende variabler kartlagt til felt i den tabellen.

Alle livscyklusstyringslogikken til objektet - bestemmer når du skal hente den fra databasen, om du vil tillate duplikateksempler i minnet som tilsvarer det samme objektet i databasen, når du skal lagre, når du skal slette objekter permanent - er søknadens ansvar

Slik bruker du Active Record i iOS Apps - dummies

Redaktørens valg

10 Måter å varme opp og slappe av før og under GRE-dummies

10 Måter å varme opp og slappe av før og under GRE-dummies

GRE er like mye fysisk trening som det er mentalt, og det er mer som en maraton enn en sprint. Hvis du kommer ut av blokkene med en sprintens tempo, er du sikker på å raskt eksosere deg selv. Nøklene til å komme til enden og fullføre sterken, oppvarmer seg mentalt og holder seg i orden ...

Argument analyse på GRE - strategier og praksis spørsmål - dummies

Argument analyse på GRE - strategier og praksis spørsmål - dummies

Når du takler et argument Analysespørsmål på GRE, din jobb er å identifisere om forfatteren har gjort en tilstrekkelig jobb med å presentere og støtte sin stilling. Graduate skoler forventer at du ikke bare skal lese med forståelse, men også å undersøke informasjonen og argumentet som presenteres og sortere logikken som er rimelig fra ...

Argument analyse på GRE Verbal Essay Test - praksis spørsmål - dummies

Argument analyse på GRE Verbal Essay Test - praksis spørsmål - dummies

Når du tar GRE Verbal testen, et av essay spørsmålene vil be deg om å analysere et argument. Du må lese argumentet, se på sine underliggende forutsetninger, og deretter forklare hvordan disse forutsetningene påvirker argumentet. Følgende praksis spørsmål ligner på hva du finner på testen. Øvelsesspørsmål Tid: ...

Redaktørens valg

Oversikt over sikkerhetspolitikk for mobilenheter - dummier

Oversikt over sikkerhetspolitikk for mobilenheter - dummier

Sikkerhetspolitikk for mobile enheter som knytter seg til bedriftsnettverket kan deles inn i to kategorier: retningslinjer for godkjente enheter og retningslinjer for andre enheter. Enhetspolicyer. Her er en oversikt over de to kategoriene av enhetsretningslinjer som du må kommunisere med brukere: Politikk for godkjente enheter: Denne policyen gjelder for alle bedriftsutstedte ...

Oversikt over mobilenhetssikkerhet gjennom skybaserte beskyttelser - dummies

Oversikt over mobilenhetssikkerhet gjennom skybaserte beskyttelser - dummies

Ved hjelp av skybasert endpoint-sikkerhet er en metode for å beskytte enterprise mobile enheter fra virus, malware, spam og andre trusler. Den faktiske trusselsbeskyttelsen skjer i skyen eller sentralisert datasenter for sluttpunktsprogramvareleverandøren i denne typen distribusjon. Trafikk til og fra de mobile enhetene blir omdirigert på enheten til ...

Oversikt over mobilenhetssikkerhet gjennom enhetsadministrasjon - dummies

Oversikt over mobilenhetssikkerhet gjennom enhetsadministrasjon - dummies

Nå som du har tenkt på å sikre mobilen enheter på nettverket ditt fra trusler som virus og malware, er det på tide å planlegge for ekstern håndheving av retningslinjer for enhetsadministrasjon eller sikkerhet. Du får ideen. Det handler om enhetssikkerhetsetikett, om å ta de enkle, men ofte ignorerte trinnene for å beskytte vitale data lagret på ...

Redaktørens valg

Hånd- og håndleddskader grunnleggende for legeassistenteksamen - dummies

Hånd- og håndleddskader grunnleggende for legeassistenteksamen - dummies

Legeassistenteksamen PANCE) vil stille spørsmål om forhold som påvirker hånden og håndleddet. De spenner fra godartede cyster til mindre forstuinger til utbruddssvikt, så gjør deg kjent med det grunnleggende. Ganglioncyster En vanlig myk vævsmasse som du kan se på hendene og håndleddene, er en ganglioncyst, også kjent ...

HIV Grunnleggende for legeassistenteksamen - dummies

HIV Grunnleggende for legeassistenteksamen - dummies

For legeassistenteksamen (PANCE), bør du være kjent med noen generelle ting som angår HIV, spesifikke infeksjoner relatert til HIV, og bivirkninger av visse medisiner. HIV står for humant immundefektvirus. Risikofaktorer for å skaffe hiv inkluderer høyrisiko seksuell atferd og narkotikamisbruk, spesielt intravenøs bruk med skitne nåler. Kommer i kontakt med ...

Mageområdet for legeassistenteksamen - dummies

Mageområdet for legeassistenteksamen - dummies

Etter å ha reist gjennom spiserøret, din neste destinasjon i forberedelsene til legeassistenteksamen (PANCE) er det livlige magesektoren. Inneholder cardia, fundus, antrum og pylorus, er dette området bare moden for patologi og fremtidige PANCE-spørsmål. Magen er et sted hvor mye av fordøyelsen finner sted. Hovedcellene ...