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 .
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.
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.
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.
For mer informasjon om funksjonene som er tilgjengelige i SQLite-biblioteket, gå til SQLite C Interface Functions List.
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.
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.
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.
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.