Begynnelsen av IOS Development Data Persistence

I den syvende delen av begynnelsen iOS Development screencast serien ser vi Data Persistence i iOS Applications. Skjermbildet inneholder en kort oversikt over de forskjellige lagringsmetodene du kan bruke i et iOS-program, samt fordelene og ulemperne ved hver metode. Etter hovednotatet forklares de fire implementerte datalagringsmetodene i detalj.

Som nevnt i screencast, implementerer denne demo-applikasjonen alle fire data lagringsmetoder. Hvis du ønsker å implementere en av dem i din egen søknad, bruk demo-søknaden som kun veiledende.

Har du problemer med å se videoen ovenfor? Last ned fullversjonen i MOV-format .

Mer informasjon

Eiendomslister

Property List-dokumenter er et arkivert tre av objekter. Eiendomslisten inneholder et rotelement som enten er et NSDictionary eller en NSArray. Inne i rotelementet er de arkiverte dataene. Klassene som kan arkiveres i en eiendomsliste er: NSString, NSNumber, NSData, NSDate, NSArray og NSDictionary. Å gi noen andre objekter som skal arkiveres som en eiendomsliste, vil ikke skrive filen. En vanlig feil er å gi en boolsk eller helhet objekt til en av elementene i NSArray eller NSDictionary. For å lagre en boolsk eller helhet bruker du NSNumber-klassen.

SQLite

Som nevnt kan bruk av SQLite C-biblioteket være vanskelig første gang, da det er veldig spesielt om argumenttyper gitt til funksjoner. Det er viktig å huske forskjellene når de går i strengene og argumentene som kreves for disse funksjonene.

Hvis du vil omgå C-biblioteket, er det noen mål-C-pakker skrevet for bruk av SQLite på IOS. FMDB er en spesiell wrapper som du kan inkludere i ditt Xcode-prosjekt for å unngå å bruke C-biblioteket.

seeding

SQLite opererer fra en enkelt fil. Når programmet startes for første gang, må du kjøre en filopprettingsprosess for å gjøre SQLite-filen tilgjengelig. I screencast-implementeringen opprettes en ny tom SQLite-database, og SQL kjøres for å sette opp den første tabellen. Det kan imidlertid hende du vil ha en database som har data som allerede er podet inn i den. For å gjøre dette, oppretter du en SQLite-fil med tabellskjemaet og nødvendige data, og deretter legger du inn filen i ditt Xcode-prosjekt. I databaseinitialiseringsprosessen kan du deretter kopiere frø-SQLite-filen fra Resources-bunten til søknadens Dokumenter-katalog.

SQLite kommandoreferanse

For mer informasjon om funksjonene som er tilgjengelige i SQLite-biblioteket, gå til SQLite C Interface Functions List.

Kjernedata

Når du implementerer Core Data, er det viktig å huske å lage ditt Xcode-prosjekt med? Bruk Core Data for storage? alternativet sjekket. Dette alternativet vil skape noen påkrevde egenskaper og metoder i din programdelegate, samt inkludere Core Data-rammen i prosjektet.

Core Data bruker standard SQLite som hoveddatabase i søknaden din. Kjernedata-rammen i IOS gir mulighet for 2 forskjellige databasemagasintyper, og som standard er det SQLite.

Komme i gang med opplæringsprogrammer for Core Data

Hvis du vil ha en dypere veiledning om bruk av Core Data for første gang, så sjekk ut de første trinnene med Core Data-artikkelen.

Brukerstandarder (NSUserDefaults)

Denne metoden er forskjellig fra de andre 3 i skjermbildet. Det brukes ikke til lagring av datainnsamlinger som vist i de andre 3 implementasjonene. Informasjon som er lagret i denne metoden, bør begrenses til brukervennlige innstillinger og alternativer.

Lagring av brukerautentiseringsinformasjon

Ved lagring av brukernavn og passord er det bedre å bruke nøkkelringstjenesten tilgjengelig i iOS. Nøkkelring er et sikkert lagringsmedium for å holde informasjon om brukerautentisering på enheten på en sikker og kryptert måte. For mer informasjon om nøkkelring, gå til Nøkkelringstjenester Programmeringsveiledning i Apple Documentation.

Takk for at du så på denne skjermbildet. Hvis du har ytterligere spørsmål, vennligst legg inn en kommentar nedenfor.